.elementor-71 .elementor-element.elementor-element-6c6f2387{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:220px 0px 130px 41px;}.elementor-71 .elementor-element.elementor-element-6c6f2387 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-71 .elementor-element.elementor-element-25295251 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-71 .elementor-element.elementor-element-307d81ea > .elementor-widget-container{margin:0px 0px 14px 0px;}.elementor-71 .elementor-element.elementor-element-307d81ea{text-align:center;}.elementor-71 .elementor-element.elementor-element-307d81ea .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:64px;font-weight:700;line-height:74px;color:#FFFFFF;}.elementor-71 .elementor-element.elementor-element-2d6e755a{text-align:center;}.elementor-71 .elementor-element.elementor-element-2d6e755a .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:400;line-height:30px;color:#FFFFFF;}.elementor-71 .elementor-element.elementor-element-4a4f3b77{margin-top:-100px;margin-bottom:0px;}.elementor-71 .elementor-element.elementor-element-7992d52a > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-56787504 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-56787504.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-71 .elementor-element.elementor-element-2e4cc274{margin-top:79px;margin-bottom:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-71 .elementor-element.elementor-element-682f92ea > .elementor-widget-container{border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-682f92ea:hover > .elementor-widget-container{border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-682f92ea img{width:100%;border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-682f92ea:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-71 .elementor-element.elementor-element-5a1f8b > .elementor-widget-container{border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-5a1f8b:hover > .elementor-widget-container{border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-5a1f8b img{width:100%;border-radius:20px 20px 20px 20px;}.elementor-71 .elementor-element.elementor-element-5a1f8b:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-71 .elementor-element.elementor-element-35b25790{margin-top:80px;margin-bottom:0px;padding:0px 0px 080px 0px;}.elementor-71 .elementor-element.elementor-element-f4fda1a > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-71 .elementor-element.elementor-element-f4fda1a{text-align:center;}.elementor-71 .elementor-element.elementor-element-f4fda1a .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:36px;font-weight:700;line-height:46px;}.elementor-71 .elementor-element.elementor-element-63eaee32:not(.elementor-motion-effects-element-type-background), .elementor-71 .elementor-element.elementor-element-63eaee32 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F8FA;}.elementor-71 .elementor-element.elementor-element-63eaee32{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:70px 0px 40px 0px;}.elementor-71 .elementor-element.elementor-element-63eaee32 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-71 .elementor-element.elementor-element-520f3e5d > .elementor-widget-container{margin:0px 0px 030px 0px;}.elementor-71 .elementor-element.elementor-element-520f3e5d{text-align:center;}.elementor-71 .elementor-element.elementor-element-520f3e5d .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:36px;font-weight:700;line-height:46px;color:#1A2B48;}.elementor-71 .elementor-element.elementor-element-776d1baa{padding:70px 0px 60px 0px;}.elementor-71 .elementor-element.elementor-element-202abbf5 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-1216d763 > .elementor-widget-container{margin:0px 0px 60px 0px;}.elementor-71 .elementor-element.elementor-element-1216d763{text-align:start;}.elementor-71 .elementor-element.elementor-element-1216d763 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:36px;font-weight:700;line-height:46px;}.elementor-71 .elementor-element.elementor-element-99df319{margin-top:0px;margin-bottom:0100px;}.elementor-71 .elementor-element.elementor-element-490913e > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-71 .elementor-element.elementor-element-30f0a4b:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://via.placeholder.com/1290x870");background-repeat:no-repeat;background-size:cover;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated > .elementor-background-overlay, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-background-slideshow{border-radius:20px 0px 0px 20px;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-71 .elementor-element.elementor-element-a44c428 > .elementor-widget-container{border-style:solid;border-width:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-a44c428 img{border-radius:020px 0px 0px 020px;}.elementor-71 .elementor-element.elementor-element-fda2921{text-align:center;}.elementor-71 .elementor-element.elementor-element-fda2921 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:36px;font-weight:700;line-height:46px;}.elementor-71 .elementor-element.elementor-element-b7df9f6 > .elementor-widget-container{margin:0px 0px 30px 0px;padding:0px 050px 0px 50px;}.elementor-71 .elementor-element.elementor-element-b7df9f6{text-align:center;}.elementor-71 .elementor-element.elementor-element-b7df9f6 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:26px;color:#727272;}.elementor-71 .elementor-element.elementor-element-6e4f66b{--display:flex;}@media(min-width:768px){.elementor-71 .elementor-element.elementor-element-30f0a4b{width:50%;}}@media(min-width:2400px){.elementor-71 .elementor-element.elementor-element-6c6f2387{margin-top:3px;margin-bottom:3px;padding:272px 272px 272px 272px;}.elementor-71 .elementor-element.elementor-element-56787504 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-56787504.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-71 .elementor-element.elementor-element-490913e > .elementor-container{max-width:818px;}.elementor-71 .elementor-element.elementor-element-30f0a4b:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://alyatrip.com/wp-content/uploads/2026/04/OyoXEAKkRKlESCGVbwXnj.png");}.elementor-71 .elementor-element.elementor-element-30f0a4b{width:100%;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated{margin:-21px -21px -21px -21px;--e-column-margin-right:-21px;--e-column-margin-left:-21px;}}@media(max-width:1366px){.elementor-71 .elementor-element.elementor-element-59e02c71 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-21c5f188 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}}@media(max-width:1024px){.elementor-71 .elementor-element.elementor-element-25295251 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-25295251 > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-307d81ea > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-307d81ea .elementor-heading-title{font-size:42px;line-height:52px;}.elementor-71 .elementor-element.elementor-element-7992d52a > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-2e4cc274{margin-top:60px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-73b8b955 > .elementor-element-populated{padding:0px 10px 0px 20px;}.elementor-71 .elementor-element.elementor-element-12a8d86 > .elementor-element-populated{padding:0px 20px 0px 10px;}.elementor-71 .elementor-element.elementor-element-35b25790{margin-top:60px;margin-bottom:0px;padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-59e02c71 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-f4fda1a .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-63eaee32{padding:60px 20px 30px 20px;}.elementor-71 .elementor-element.elementor-element-21c5f188 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-520f3e5d .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-776d1baa{padding:60px 20px 60px 20px;}.elementor-71 .elementor-element.elementor-element-202abbf5 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-202abbf5 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-1216d763 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-99df319{margin-top:0px;margin-bottom:0px;padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-722f1df > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-490913e{padding:0px 0px 0px 0px;}}@media(max-width:992px){.elementor-71 .elementor-element.elementor-element-6c6f2387{padding:150px 0px 150px 0px;}.elementor-71 .elementor-element.elementor-element-307d81ea .elementor-heading-title{font-size:38px;line-height:48px;}.elementor-71 .elementor-element.elementor-element-4a4f3b77{margin-top:-100px;margin-bottom:0px;}.elementor-71 .elementor-element.elementor-element-7992d52a > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-2e4cc274{margin-top:40px;margin-bottom:0px;}.elementor-71 .elementor-element.elementor-element-35b25790{margin-top:40px;margin-bottom:0px;padding:0px 0px 20px 0px;}.elementor-71 .elementor-element.elementor-element-59e02c71 > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-f4fda1a .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-63eaee32{padding:40px 0px 30px 0px;}.elementor-71 .elementor-element.elementor-element-21c5f188 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-21c5f188 > .elementor-element-populated{padding:0px 20px 0px 20px;}.elementor-71 .elementor-element.elementor-element-520f3e5d > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-71 .elementor-element.elementor-element-520f3e5d .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-776d1baa{margin-top:0px;margin-bottom:0px;padding:60px 20px 40px 20px;}.elementor-71 .elementor-element.elementor-element-1216d763 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-71 .elementor-element.elementor-element-1216d763 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-99df319{margin-top:0px;margin-bottom:50px;}.elementor-71 .elementor-element.elementor-element-fda2921 .elementor-heading-title{font-size:28px;line-height:38px;}}@media(max-width:767px){.elementor-71 .elementor-element.elementor-element-6c6f2387{padding:56px 15px 130px 15px;}.elementor-71 .elementor-element.elementor-element-25295251 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-307d81ea .elementor-heading-title{font-size:42px;line-height:52px;}.elementor-71 .elementor-element.elementor-element-4a4f3b77{margin-top:-100px;margin-bottom:0px;padding:0px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-7992d52a > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-2e4cc274{margin-top:40px;margin-bottom:40px;}.elementor-71 .elementor-element.elementor-element-73b8b955 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-12a8d86 > .elementor-element-populated{margin:15px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-35b25790{margin-top:40px;margin-bottom:0px;padding:0px 15px 40px 15px;}.elementor-71 .elementor-element.elementor-element-59e02c71 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-71 .elementor-element.elementor-element-59e02c71 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-f4fda1a .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-63eaee32{padding:40px 0px 10px 0px;}.elementor-71 .elementor-element.elementor-element-21c5f188 > .elementor-element-populated{padding:0px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-520f3e5d .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-776d1baa{padding:40px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-1216d763 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-71 .elementor-element.elementor-element-1216d763 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-71 .elementor-element.elementor-element-99df319{padding:40px 15px 0px 15px;}.elementor-71 .elementor-element.elementor-element-490913e{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated > .elementor-background-overlay, .elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-background-slideshow{border-radius:020px 20px 0px 0px;}.elementor-71 .elementor-element.elementor-element-30f0a4b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-a44c428 img{border-radius:20px 20px 0px 0px;}.elementor-71 .elementor-element.elementor-element-fda2921 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-71 .elementor-element.elementor-element-b7df9f6 > .elementor-widget-container{margin:20px 0px 40px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for st_banner_form, class: .elementor-element-56787504 *//* ========================================================
   ST-BANNER-SEARCH-FORM — RESPONSIVE ABSOLU 2030 (FIX MOBILE)
   Adaptation PARFAITE : PC, Portable, Tablette, Mobile
   ======================================================== */

.st-banner-search-form,
.st-banner-search-form * {
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased;
}

/* ========================================================
   1. CONTENEUR GLOBAL (ADAPTATIF ET SANS DÉBORDEMENT)
   ======================================================== */
.st-banner-search-form {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 24px 32px !important;
  border-radius: 48px !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.75), rgba(255,255,255,0.4)) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(48px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(48px) saturate(200%) !important;
  box-shadow: 
    0 50px 100px -20px rgba(15, 23, 42, 0.15),
    inset 0 4px 6px rgba(255, 255, 255, 1) !important;
  position: relative !important;
  overflow: visible !important;
  z-index: 10;
}

.st-banner-search-form .tab-content,
.st-banner-search-form .tab-pane.show.active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  height: auto !important;
  width: 100% !important;
}

/* ========================================================
   2. ONGLETS ANIMÉS (DOCK HOLOGRAPHIQUE)
   ======================================================== */
.st-banner-search-form .multi-search {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin: 0 auto 32px auto !important;
  padding: 8px !important;
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(30px) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 100px !important;
  width: max-content !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  position: relative !important;
}
.st-banner-search-form .multi-search::-webkit-scrollbar { display: none !important; }

.st-banner-search-form .multi-search .nav-item {
  flex: 0 0 auto !important;
}

.st-banner-search-form .multi-search .nav-link {
  height: 48px !important;
  padding: 0 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 100px !important;
  background: transparent !important;
  color: #475569 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
  transition: all 0.4s ease !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

.st-banner-search-form .multi-search .nav-link::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899, #06b6d4, #3b82f6);
  background-size: 300% 100%; border-radius: inherit; z-index: -1;
  opacity: 0; transition: opacity 0.4s ease; animation: liquidGlow 3s linear infinite;
}

.st-banner-search-form .multi-search .nav-link:hover { color: #ffffff !important; transform: translateY(-2px) !important; }
.st-banner-search-form .multi-search .nav-link:hover::before { opacity: 0.8; }
.st-banner-search-form .multi-search .nav-link.active { color: #ffffff !important; transform: scale(1.05) translateY(-4px) !important; box-shadow: 0 15px 30px -5px rgba(139, 92, 246, 0.4) !important; }
.st-banner-search-form .multi-search .nav-link.active::before { opacity: 1; }

/* ========================================================
   3. CHASSIS DU FORMULAIRE ET GRILLE PC
   ======================================================== */
.st-banner-search-form .st-search-form-el,
.st-banner-search-form .search-form {
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: 36px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  padding: 8px !important;
  margin: 0 !important;
  width: 100% !important;
}

.st-banner-search-form .search-form .row {
  margin: 0 !important; padding: 0 !important;
  display: flex !important; flex-wrap: nowrap !important;
  align-items: stretch !important; width: 100% !important;
}

.st-banner-search-form .search-form .row > [class*="col-"] {
  padding: 0 !important; margin: 0 !important;
  flex: 1 1 0%; min-width: 0 !important; position: relative !important;
}

/* Ligne Séparatrice */
.st-banner-search-form .search-form .row > [class*="col-"]:not(:last-child)::after {
  content: ''; position: absolute; right: 0; top: 20%; height: 60%; width: 2px;
  background: linear-gradient(to bottom, transparent, rgba(226, 232, 240, 0.8), transparent);
  transition: opacity 0.3s ease; z-index: 1;
}

/* ========================================================
   4. CHAMPS INTERACTIFS
   ======================================================== */
.st-banner-search-form .form-group,
.st-banner-search-form .form-extra-field,
.st-banner-search-form .field-guest,
.st-banner-search-form .destination-search,
.st-banner-search-form .form-date-field,
.st-banner-search-form .st-location-sidebar {
  height: 104px !important; min-height: 104px !important;
  display: flex !important; align-items: center !important;
  padding: 0 20px !important; background: transparent !important;
  border: none !important; border-radius: 28px !important;
  transition: all 0.4s ease !important; cursor: pointer !important; z-index: 2 !important;
  width: 100% !important;
}

.st-banner-search-form .form-group:hover,
.st-banner-search-form .form-extra-field:hover,
.st-banner-search-form .field-guest:hover,
.st-banner-search-form .destination-search:hover,
.st-banner-search-form .form-date-field:hover {
  background: #ffffff !important;
  box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.08) !important;
  transform: scale(1.02) !important; z-index: 10 !important;
}

.st-banner-search-form .search-form .row > [class*="col-"]:hover::after,
.st-banner-search-form .search-form .row > [class*="col-"]:hover + [class*="col-"]::after { opacity: 0 !important; }

/* ========================================================
   5. TEXTES ET ALIGNEMENTS CORRIGÉS
   ======================================================== */
.st-banner-search-form .st-form-dropdown-icon,
.st-banner-search-form .date-wrapper,
.st-banner-search-form .addvance-wrapper {
  display: flex !important; flex-direction: column !important;
  justify-content: center !important; align-items: flex-start !important;
  width: 100% !important; overflow: hidden !important;
}

.st-banner-search-form .labelDestination,
.st-banner-search-form .labelGuests,
.st-banner-search-form .addvance-wrapper label,
.st-banner-search-form .form-group label,
.st-banner-search-form .date-wrapper label,
.st-banner-search-form .check-in-wrapper label {
  display: block !important; width: 100% !important;
  margin: 0 0 6px 0 !important; font-size: 11px !important;
  font-weight: 900 !important; letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: linear-gradient(135deg, #06b6d4, #8b5cf6, #ec4899) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  color: transparent !important; white-space: nowrap !important;
  text-overflow: ellipsis !important; overflow: hidden !important;
}

.st-banner-search-form .render,
.st-banner-search-form .check-in-render,
.st-banner-search-form .check-out-render,
.st-banner-search-form .locationname,
.st-banner-search-form input[type="text"],
.st-banner-search-form .form-control,
.st-banner-search-form select {
  width: 100% !important; margin: 0 !important; padding: 0 !important;
  border: none !important; outline: none !important; background: transparent !important;
  font-size: 16px !important; font-weight: 800 !important; color: #0f172a !important;
  white-space: nowrap !important; text-overflow: ellipsis !important; overflow: hidden !important;
}

.st-banner-search-form .input-icon, .st-banner-search-form .field-icon {
  margin-right: 14px !important; flex-shrink: 0 !important; font-size: 22px !important;
  color: #cbd5e1 !important; transition: all 0.4s ease !important;
}

.st-banner-search-form .check-in-wrapper { flex-direction: column !important; align-items: flex-start !important; }
.st-banner-search-form .check-in-wrapper .date-group { display: flex !important; flex-direction: row !important; gap: 8px !important; width: 100% !important;}
.st-banner-search-form .field-guest .render { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }

/* ========================================================
   6. BLOC ADVANCE ET BOUTON SEARCH (PC)
   ======================================================== */
.st-banner-search-form .search-form .row > [class*="col-"]:last-child {
  flex: 0 0 310px !important; 
  min-width: 310px !important; 
  max-width: 340px !important;
}

.st-banner-search-form .form-button {
  width: 100% !important; height: 104px !important;
  padding: 0 !important; margin: 0 !important;
  display: flex !important; flex-direction: row !important;
  align-items: center !important; justify-content: space-between !important;
  gap: 8px !important; background: transparent !important;
}

.st-banner-search-form .advance { flex: 1 1 0% !important; height: 100% !important; display: flex !important; align-items: center !important; }
.st-banner-search-form .field-advance { width: 100% !important; height: 104px !important; margin: 0 !important; padding: 0 16px !important; }

.st-banner-search-form .btn-search,
.st-banner-search-form button.btn-search {
  flex: 0 0 135px !important; width: 135px !important; max-width: 135px !important;
  height: 88px !important; margin: 0 8px 0 0 !important; padding: 0 !important;
  border: none !important; border-radius: 28px !important;
  background: #0f172a !important; color: #ffffff !important;
  font-size: 16px !important; font-weight: 900 !important; letter-spacing: 1px !important;
  text-transform: uppercase !important; display: flex !important; align-items: center !important;
  justify-content: center !important; box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.4) !important;
  transition: all 0.5s ease !important; cursor: pointer !important; position: relative !important;
  overflow: hidden !important; z-index: 1 !important;
}

.st-banner-search-form .btn-search::before {
  content: ''; position: absolute; inset: -2px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899, #06b6d4, #3b82f6);
  background-size: 300% 100%; border-radius: inherit; z-index: -1;
  opacity: 0; transition: opacity 0.5s ease; animation: liquidGlow 3s linear infinite;
}
@keyframes liquidGlow { 0% { background-position: 0% 0%; } 100% { background-position: 300% 0%; } }

.st-banner-search-form .btn-search:hover { transform: scale(1.05) translateY(-4px) !important; color: #ffffff !important; box-shadow: 0 20px 40px -10px rgba(139, 92, 246, 0.6) !important; }
.st-banner-search-form .btn-search:hover::before { opacity: 1; }

/* ========================================================
   7. DROPDOWNS FLOTTANTS
   ======================================================== */
.st-banner-search-form .dropdown-menu {
  position: absolute !important; z-index: 99999 !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important; border-radius: 32px !important;
  padding: 16px !important; background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(40px) saturate(200%) !important;
  box-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.2) !important; margin-top: 24px !important;
  max-width: 90vw !important; /* Empeche le menu de sortir de l'ecran mobile */
}

/* ========================================================
   8. RESPONSIVE PARFAIT : TABLETTE ET MOBILE (FIX ABSOLU)
   ======================================================== */

@media (max-width: 991px) {
  
  .st-banner-search-form { 
    padding: 20px !important; 
    border-radius: 36px !important; 
  }

  /* Force les colonnes a s'empiler a 100% SANS depasser */
  .st-banner-search-form .search-form .row { 
    flex-direction: column !important; 
  }
  
  /* REINITIALISATION CRITIQUE DU MIN-WIDTH ICI */
  .st-banner-search-form .search-form .row > [class*="col-"],
  .st-banner-search-form .search-form .row > [class*="col-"]:last-child { 
    width: 100% !important; 
    max-width: 100% !important; 
    min-width: 0 !important; /* Corrige le bug de depassement Mobile */
    flex: 0 0 100% !important; 
    display: block !important; 
  }
  
  .st-banner-search-form .search-form .row > [class*="col-"]:not(:last-child)::after { 
    display: none !important; 
  }
  
  .st-banner-search-form .form-group, 
  .st-banner-search-form .form-extra-field,
  .st-banner-search-form .form-date-field,
  .st-banner-search-form .destination-search,
  .st-banner-search-form .field-guest {
    height: auto !important; 
    min-height: 80px !important; 
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    padding: 12px 16px !important;
    transform: none !important; 
  }
  
  .st-banner-search-form .search-form .row > [class*="col-"]:first-child .form-group { 
    border-radius: 28px 28px 0 0 !important; 
  }
  
  /* Bouton Search et Advance 100% sur Mobile/Tablette */
  .st-banner-search-form .form-button {
    flex-direction: column !important; 
    height: auto !important; 
    padding: 16px !important; 
    width: 100% !important;
    gap: 12px !important;
  }
  
  .st-banner-search-form .advance { 
    width: 100% !important; 
    min-width: 0 !important;
    flex: 0 0 auto !important; 
  }
  
  .st-banner-search-form .field-advance { 
    height: auto !important; 
    min-height: 60px !important;
    padding: 0 !important; 
  }
  
  .st-banner-search-form .btn-search, 
  .st-banner-search-form button.btn-search {
    width: 100% !important; 
    max-width: 100% !important; 
    min-width: 0 !important;
    flex: 0 0 auto !important;
    height: 64px !important; 
    margin: 0 !important; 
    border-radius: 24px !important; 
  }
}

/* --- MOBILE SPECIFIQUE (< 575px) --- */
@media (max-width: 575px) {
  .st-banner-search-form { 
    padding: 12px !important; 
    border-radius: 28px !important; 
  }
  
  /* Menu des onglets glissant au doigt */
  .st-banner-search-form .multi-search {
    width: 100% !important; 
    padding: 6px !important; 
    justify-content: flex-start !important; 
    margin-bottom: 16px !important;
    border-radius: 20px !important;
  }
  
  .st-banner-search-form .multi-search .nav-link { 
    height: 40px !important; 
    padding: 0 20px !important; 
    font-size: 13px !important; 
  }
  
  .st-banner-search-form .form-group { 
    min-height: 70px !important; 
    padding: 8px 16px !important; 
  }
  
  .st-banner-search-form .input-icon { 
    font-size: 20px !important; 
  }
  
  .st-banner-search-form .btn-search { 
    height: 56px !important; 
    font-size: 15px !important; 
    border-radius: 20px !important;
  }
}/* End custom CSS */
/* Start custom CSS for st_list_service, class: .elementor-element-59c54b3 *//* ========================================================
   💎 THEME TRAVELER 2030 - "FROSTED DIAMOND" (VERSION FINALE ULTIME)
   Cible : .elementor-widget-st_list_service
   Caractéristiques : Glassmorphisme Pur, Animations Fluides, Responsive Parfait
   ======================================================== */

/* ========================================================
   0. RESET & FONDATIONS
   ======================================================== */
.elementor-widget-st_list_service,
.elementor-widget-st_list_service * {
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    min-width: 0; /* FIX: Empêche dépassements mobiles */
    letter-spacing: -0.015em;
}

/* ========================================================
   1. ANIMATIONS PRINCIPALES
   ======================================================== */
@keyframes liquidGlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes cardFloatIn {
    0% { opacity: 0; transform: translateY(40px) scale(0.95); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseHeart {
    0% { transform: scale(1); }
    50% { transform: scale(1.25) rotate(-5deg); }
    100% { transform: scale(1); }
}

@keyframes shineMove {
    0% { left: -100%; opacity: 0; }
    50% { opacity: 1; }
    100% { left: 200%; opacity: 0; }
}

@keyframes priceGlow {
    0%, 100% { filter: drop-shadow(0 0 2px transparent); }
    50% { filter: drop-shadow(0 0 10px rgba(59,130,246,0.5)); }
}

@keyframes starTwinkle {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.85); }
}

@keyframes moveGrid {
    0% { transform: translateY(0); }
    100% { transform: translateY(30px); }
}

@keyframes onlinePulse {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
    70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* ========================================================
   2. ARRIÈRE-PLAN (GRILLE QUANTIQUE)
   ======================================================== */
.elementor-widget-st_list_service {
    position: relative;
    z-index: 1;
    padding: 80px 20px;
    border-radius: 48px;
    background: radial-gradient(circle at 50% 0%, #f8fafc, #f1f5f9 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.8);
    overflow: hidden;
}

.elementor-widget-st_list_service::before {
    content: '';
    position: absolute;
    inset: -100%;
    z-index: -2;
    background-image: 
        linear-gradient(rgba(15, 23, 42, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.04) 1px, transparent 1px);
    background-size: 30px 30px;
    animation: moveGrid 30s linear infinite;
    pointer-events: none;
}

.elementor-widget-st_list_service::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="n"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23n)" opacity="0.05"/%3E%3C/svg%3E');
}

/* ========================================================
   3. CONTENEUR PRINCIPAL GLASS
   ======================================================== */
.elementor-widget-st_list_service .list-tab-wrapper {
    position: relative;
    z-index: 2;
}

/* ========================================================
   4. TABS / ONGLETS (NAVIGATION)
   ======================================================== */
.elementor-widget-st_list_service .list-tab-wrapper nav {
    margin-bottom: 60px !important;
    position: relative;
    z-index: 10;
}

.elementor-widget-st_list_service .nav-tabs {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px !important;
    margin: 0 auto !important;
    width: fit-content !important;
    background: rgba(255, 255, 255, 0.4) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
    border-radius: 100px !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03), inset 0 2px 5px rgba(255,255,255,0.7) !important;
}

.elementor-widget-st_list_service .nav-tabs li {
    margin: 0 !important;
    list-style: none !important;
}

.elementor-widget-st_list_service .nav-tabs a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 32px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    color: #475569 !important;
    background: transparent !important;
    border-radius: 100px !important;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    border: none !important;
    white-space: nowrap !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

.elementor-widget-st_list_service .nav-tabs a::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899, #06b6d4, #3b82f6);
    background-size: 300% 300%;
    transition: opacity 0.4s ease;
}

.elementor-widget-st_list_service .nav-tabs a:hover {
    color: #ffffff !important;
    transform: translateY(-3px) scale(1.03) !important;
}

.elementor-widget-st_list_service .nav-tabs a:hover::before {
    opacity: 1;
    animation: liquidGlow 3s linear infinite;
}

.elementor-widget-st_list_service .nav-tabs a.active {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.3) !important;
}

.elementor-widget-st_list_service .nav-tabs a.active::before {
    display: none;
}

/* ========================================================
   5. GRILLE DES CARTES
   ======================================================== */
.elementor-widget-st_list_service .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.elementor-widget-st_list_service .services-item {
    padding: 0 15px !important;
    margin-bottom: 48px !important;
    animation: cardFloatIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    will-change: transform;
}

.elementor-widget-st_list_service .services-item:nth-child(1) { animation-delay: 0.05s; }
.elementor-widget-st_list_service .services-item:nth-child(2) { animation-delay: 0.1s; }
.elementor-widget-st_list_service .services-item:nth-child(3) { animation-delay: 0.15s; }
.elementor-widget-st_list_service .services-item:nth-child(4) { animation-delay: 0.2s; }
.elementor-widget-st_list_service .services-item:nth-child(5) { animation-delay: 0.25s; }
.elementor-widget-st_list_service .services-item:nth-child(6) { animation-delay: 0.3s; }
.elementor-widget-st_list_service .services-item:nth-child(7) { animation-delay: 0.35s; }
.elementor-widget-st_list_service .services-item:nth-child(8) { animation-delay: 0.4s; }

/* ========================================================
   6. CARTES - PUR GLASSMORPHISM
   ======================================================== */
.elementor-widget-st_list_service .item.service-border {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.3)) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
    border-radius: 36px !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.05), inset 0 2px 10px rgba(255, 255, 255, 0.8) !important;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    position: relative !important;
    overflow: visible !important;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.elementor-widget-st_list_service .item.service-border:hover {
    transform: translateY(-10px) scale(1.02) translateZ(0) !important;
    box-shadow: 0 40px 80px -15px rgba(15, 23, 42, 0.15), 0 0 30px rgba(59, 130, 246, 0.15), inset 0 2px 15px rgba(255, 255, 255, 1) !important;
    border-color: rgba(255, 255, 255, 1) !important;
    z-index: 10 !important;
}

/* ========================================================
   7. IMAGE FEATURE (ZOOM + SHINE)
   ======================================================== */
.elementor-widget-st_list_service .featured-image {
    position: relative !important;
    border-radius: 36px 36px 0 0 !important;
    aspect-ratio: 4/3 !important;
    width: 100% !important;
    overflow: visible !important;
}

.elementor-widget-st_list_service .featured-image img.image-feature {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    clip-path: inset(0 0 0 0 round 36px 36px 0 0) !important;
}

.elementor-widget-st_list_service .item.service-border:hover .featured-image img.image-feature {
    transform: scale(1.06) !important;
}

.elementor-widget-st_list_service .featured-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.6) 50%, transparent 80%);
    z-index: 5;
    pointer-events: none;
    left: -150%;
    clip-path: inset(0 0 0 0 round 36px 36px 0 0);
    mix-blend-mode: overlay;
}

.elementor-widget-st_list_service .item.service-border:hover .featured-image::after {
    animation: shineMove 1.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* ========================================================
   8. BADGES (FEATURED, SOLDES)
   ======================================================== */
.elementor-widget-st_list_service .st-tag-feature-sale {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.elementor-widget-st_list_service .featured {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    color: #0f172a !important;
    padding: 8px 16px !important;
    border-radius: 100px !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    width: fit-content !important;
}

.elementor-widget-st_list_service .st_sale_class {
    background: linear-gradient(135deg, #ef4444, #ec4899) !important;
    background-size: 200% 200% !important;
    color: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: 100px !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    animation: liquidGlow 3s linear infinite;
    display: inline-block !important;
    width: fit-content !important;
    box-shadow: 0 5px 15px rgba(239, 68, 68, 0.2) !important;
}

/* ========================================================
   9. BOUTON WISHLIST (CŒUR)
   ======================================================== */
.elementor-widget-st_list_service .service-add-wishlist {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(15px) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    z-index: 10 !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
}

.elementor-widget-st_list_service .service-add-wishlist i,
.elementor-widget-st_list_service .service-add-wishlist svg {
    font-size: 17px !important;
    color: #64748b !important;
    transition: all 0.4s ease !important;
}

.elementor-widget-st_list_service .service-add-wishlist:hover {
    transform: scale(1.15) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
}

.elementor-widget-st_list_service .item.service-border:hover .service-add-wishlist i,
.elementor-widget-st_list_service .item.service-border:hover .service-add-wishlist svg {
    animation: pulseHeart 1.5s infinite;
    color: #ef4444 !important;
}

/* ========================================================
   10. AVATAR PARTENAIRE (AVEC PASTILLE ONLINE)
   ======================================================== */
.elementor-widget-st_list_service .service-avatar {
    position: absolute !important;
    bottom: -28px !important;
    right: 28px !important;
    z-index: 30 !important;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.elementor-widget-st_list_service .service-avatar img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    object-fit: cover !important;
    background: #ffffff !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.4s ease !important;
}

.elementor-widget-st_list_service .service-avatar::after {
    content: '';
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    background: #10b981;
    border: 3px solid #ffffff;
    border-radius: 50%;
    z-index: 31;
    animation: onlinePulse 2.5s infinite;
}

.elementor-widget-st_list_service .item.service-border:hover .service-avatar {
    transform: translateY(-6px) scale(1.08) !important;
}

/* ========================================================
   11. CONTENU TEXTE (TYPOGRAPHIE LISIBLE)
   ======================================================== */
.elementor-widget-st_list_service .content-item {
    padding: 36px 24px 24px 24px !important;
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
}

.elementor-widget-st_list_service .st-stars {
    display: flex !important;
    gap: 4px !important;
    margin-bottom: 12px !important;
}

.elementor-widget-st_list_service .st-stars i,
.elementor-widget-st_list_service .stt-icon-star1 {
    color: #fbbf24 !important;
    font-size: 14px !important;
}

.elementor-widget-st_list_service .item.service-border:hover .st-stars i,
.elementor-widget-st_list_service .item.service-border:hover .stt-icon-star1 {
    animation: starTwinkle 1.5s infinite alternate;
}

.elementor-widget-st_list_service .title {
    margin-bottom: 8px !important;
}

.elementor-widget-st_list_service .title a {
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    transition: all 0.4s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.elementor-widget-st_list_service .item.service-border:hover .title a {
    color: #2563eb !important;
}

.elementor-widget-st_list_service .sub-title,
.elementor-widget-st_list_service .st-address {
    color: #64748b !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.elementor-widget-st_list_service .sub-title i,
.elementor-widget-st_list_service .st-address i {
    color: #2563eb !important;
    font-size: 15px !important;
}

.elementor-widget-st_list_service .reviews {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
}

.elementor-widget-st_list_service .reviews .rate {
    font-weight: 800 !important;
    color: #fbbf24 !important;
    font-size: 15px !important;
}

.elementor-widget-st_list_service .reviews .summary {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

/* ========================================================
   12. PRIX (AVEC GLOW ANIMATION)
   ======================================================== */
.elementor-widget-st_list_service .section-footer {
    margin-top: auto !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
    position: relative;
}

.elementor-widget-st_list_service .price-wrapper {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.elementor-widget-st_list_service .price {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    transition: all 0.4s ease !important;
}

.elementor-widget-st_list_service .item.service-border:hover .price {
    color: #2563eb !important;
    animation: priceGlow 2s infinite alternate;
}

.elementor-widget-st_list_service .unit {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* Prix pour les tours */
.elementor-widget-st_list_service .price-wrapper-tour {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

.elementor-widget-st_list_service .onsale {
    text-decoration: line-through !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    opacity: 0.8 !important;
}

.elementor-widget-st_list_service .sale-top {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
}

.elementor-widget-st_list_service .sale-top .text-lg {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    transition: color 0.3s ease !important;
}

.elementor-widget-st_list_service .item.service-border:hover .sale-top .text-lg {
    color: #2563eb !important;
}

/* ========================================================
   13. ÉQUIPEMENTS VOITURE (TOOLTIPS CSS PUR)
   ======================================================== */
.elementor-widget-st_list_service .car-equipments {
    display: flex !important;
    gap: 16px !important;
    margin: 16px 0 !important;
    flex-wrap: wrap !important;
}

.elementor-widget-st_list_service .car-equipments .item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    position: relative !important;
    cursor: help !important;
}

.elementor-widget-st_list_service .car-equipments .ico i {
    font-size: 18px !important;
    color: #94a3b8 !important;
    transition: color 0.3s ease !important;
}

.elementor-widget-st_list_service .item.service-border:hover .car-equipments .ico i {
    color: #2563eb !important;
}

.elementor-widget-st_list_service .car-equipments .text {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
}

.elementor-widget-st_list_service .car-equipments .item::after {
    content: attr(title);
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%) translateY(10px) scale(0.9);
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 50;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.elementor-widget-st_list_service .car-equipments .item:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
}

/* ========================================================
   14. PAGINATION
   ======================================================== */
.elementor-widget-st_list_service .pagination {
    margin-top: 70px !important;
    display: flex !important;
    justify-content: center !important;
}

.elementor-widget-st_list_service .page-numbers {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-widget-st_list_service .page-numbers li a,
.elementor-widget-st_list_service .page-numbers li span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 50px !important;
    height: 50px !important;
    padding: 0 18px !important;
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 100px !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    color: #0f172a !important;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

.elementor-widget-st_list_service .page-numbers li a::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899, #06b6d4, #3b82f6);
    background-size: 300% 300%;
    transition: opacity 0.4s ease;
}

.elementor-widget-st_list_service .page-numbers li a:hover {
    transform: translateY(-4px) scale(1.05) !important;
    box-shadow: 0 15px 30px rgba(59, 130, 246, 0.2) !important;
    background: #ffffff !important;
    color: #2563eb !important;
}

.elementor-widget-st_list_service .page-numbers li a:hover::before {
    opacity: 1;
    animation: liquidGlow 3s linear infinite;
}

.elementor-widget-st_list_service .page-numbers .current {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.2) !important;
    transform: scale(1.05) !important;
}

.elementor-widget-st_list_service .page-numbers .current::before {
    display: none;
}

/* ========================================================
   15. BOUTON LOAD MORE / AJAX
   ======================================================== */
.elementor-widget-st_list_service .btn-load-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 36px !important;
    margin-top: 30px !important;
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(15px) !important;
    border-radius: 100px !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    color: #0f172a !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.4s ease !important;
    cursor: pointer !important;
}

.elementor-widget-st_list_service .btn-load-more:hover {
    background: #ffffff !important;
    color: #2563eb !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 35px rgba(37, 99, 235, 0.2) !important;
}

.elementor-widget-st_list_service .st-loader {
    border-top-color: #2563eb !important;
}

/* ========================================================
   16. FORMULAIRES DE RECHERCHE (OPTIONNEL)
   ======================================================== */
.elementor-widget-st_list_service .st-search-form {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    border-radius: 28px !important;
    padding: 0 !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 40px !important;
}

.elementor-widget-st_list_service .st-search-form .form-group {
    height: 104px !important;
    padding: 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    position: relative !important;
    flex: 1 !important;
    transition: all 0.4s ease !important;
    border-radius: 28px !important;
}

.elementor-widget-st_list_service .st-search-form .form-group:hover {
    background: #ffffff !important;
    transform: scale(1.02) !important;
    z-index: 5 !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08) !important;
}

.elementor-widget-st_list_service .st-search-form .form-group:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(15, 23, 42, 0.1), transparent) !important;
    pointer-events: none;
}

.elementor-widget-st_list_service .st-search-form label {
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    background: linear-gradient(90deg, #3b82f6, #ec4899);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    margin-bottom: 4px !important;
}

.elementor-widget-st_list_service .st-search-form input,
.elementor-widget-st_list_service .st-search-form select {
    border: none !important;
    background: transparent !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    color: #0f172a !important;
    padding: 0 !important;
    width: 100% !important;
    outline: none !important;
    box-shadow: none !important;
}

.elementor-widget-st_list_service .st-search-form .icon {
    margin-right: 14px !important;
    color: #cbd5e1 !important;
    font-size: 20px !important;
    transition: color 0.4s ease !important;
}

.elementor-widget-st_list_service .st-search-form .form-group:hover .icon {
    color: #3b82f6 !important;
}

/* ========================================================
   17. RESPONSIVE - TABLETTE (max-width: 991px)
   ======================================================== */
@media (max-width: 991px) and (min-width: 768px) {
    .elementor-widget-st_list_service .services-item {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs {
        border-radius: 48px !important;
        padding: 8px 16px !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs a {
        padding: 10px 24px !important;
        font-size: 13px !important;
    }
    
    .elementor-widget-st_list_service .st-search-form {
        flex-direction: column !important;
        border-radius: 32px !important;
        padding: 20px !important;
    }
    
    .elementor-widget-st_list_service .st-search-form .form-group {
        height: 80px !important;
        width: 100% !important;
    }
    
    .elementor-widget-st_list_service .st-search-form .form-group:not(:last-child)::after {
        display: none !important;
    }
}

/* ========================================================
   18. RESPONSIVE - MOBILE (max-width: 767px)
   ======================================================== */
@media (max-width: 767px) {
    .elementor-widget-st_list_service {
        padding: 40px 12px;
        border-radius: 32px;
    }
    
    .elementor-widget-st_list_service .services-item {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 8px !important;
        margin-bottom: 28px !important;
    }
    
    .elementor-widget-st_list_service .list-tab-wrapper nav {
        margin-bottom: 28px !important;
        padding: 0 8px !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        max-width: 100% !important;
        padding: 8px 12px !important;
        border-radius: 60px !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs::-webkit-scrollbar {
        display: none !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs li {
        scroll-snap-align: start !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs a {
        padding: 10px 20px !important;
        font-size: 12.5px !important;
        white-space: nowrap !important;
    }
    
    .elementor-widget-st_list_service .item.service-border {
        border-radius: 28px !important;
    }
    
    .elementor-widget-st_list_service .featured-image {
        border-radius: 28px 28px 0 0 !important;
        aspect-ratio: 16/11 !important;
    }
    
    .elementor-widget-st_list_service .featured-image img.image-feature,
    .elementor-widget-st_list_service .featured-image::after {
        clip-path: inset(0 0 0 0 round 28px 28px 0 0) !important;
    }
    
    .elementor-widget-st_list_service .content-item {
        padding: 24px 20px 20px 20px !important;
    }
    
    .elementor-widget-st_list_service .title a {
        font-size: 18px !important;
    }
    
    .elementor-widget-st_list_service .price {
        font-size: 20px !important;
    }
    
    .elementor-widget-st_list_service .service-avatar {
        bottom: -20px !important;
        right: 20px !important;
    }
    
    .elementor-widget-st_list_service .service-avatar img {
        width: 50px !important;
        height: 50px !important;
    }
    
    .elementor-widget-st_list_service .service-add-wishlist {
        width: 38px !important;
        height: 38px !important;
        top: 12px !important;
        right: 12px !important;
    }
    
    .elementor-widget-st_list_service .st-tag-feature-sale {
        top: 12px !important;
        left: 12px !important;
    }
    
    .elementor-widget-st_list_service .featured,
    .elementor-widget-st_list_service .st_sale_class {
        padding: 6px 12px !important;
        font-size: 10px !important;
    }
    
    .elementor-widget-st_list_service .page-numbers li a,
    .elementor-widget-st_list_service .page-numbers li span {
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
    }
}

/* ========================================================
   19. RESPONSIVE - TRÈS PETIT MOBILE (max-width: 480px)
   ======================================================== */
@media (max-width: 480px) {
    .elementor-widget-st_list_service {
        padding: 30px 8px;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        backdrop-filter: none !important;
    }
    
    .elementor-widget-st_list_service::before,
    .elementor-widget-st_list_service::after {
        display: none !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs {
        padding: 6px 10px !important;
        border-radius: 50px !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs a {
        padding: 8px 16px !important;
        font-size: 11.5px !important;
    }
    
    .elementor-widget-st_list_service .title a {
        font-size: 16px !important;
    }
    
    .elementor-widget-st_list_service .sub-title,
    .elementor-widget-st_list_service .st-address {
        font-size: 11.5px !important;
    }
    
    .elementor-widget-st_list_service .price {
        font-size: 18px !important;
    }
    
    .elementor-widget-st_list_service .service-avatar img {
        width: 44px !important;
        height: 44px !important;
    }
    
    .elementor-widget-st_list_service .service-add-wishlist {
        width: 34px !important;
        height: 34px !important;
    }
    
    .elementor-widget-st_list_service .page-numbers li a,
    .elementor-widget-st_list_service .page-numbers li span {
        min-width: 38px !important;
        height: 38px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments {
        gap: 12px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments .ico i {
        font-size: 16px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments .text {
        font-size: 9px !important;
    }
}

/* ========================================================
   20. FALLBACKS & SUPPORTS
   ======================================================== */
@supports (-webkit-touch-callout: none) {
    .elementor-widget-st_list_service .item.service-border,
    .elementor-widget-st_list_service .nav-tabs {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: none !important;
    }
}

@supports not (backdrop-filter: blur(30px)) {
    .elementor-widget-st_list_service .item.service-border,
    .elementor-widget-st_list_service .nav-tabs {
        background: rgba(255, 255, 255, 0.95) !important;
    }
}

.elementor-widget-st_list_service .item.service-border,
.elementor-widget-st_list_service .service-add-wishlist,
.elementor-widget-st_list_service .page-numbers li a {
    will-change: transform;
}

/* ========================================================
   FIN DU CODE - THEME TRAVELER 2030 FROSTED DIAMOND
   ======================================================== */
   
   
   
   
   
   
   
   
   
   
   
   /* ========================================================
   🌊 THEME TRAVELER 2030 - FROSTED DIAMOND (SUITE & FINAL)
   Ajouts : Animations supplémentaires, effets de profondeur,
   micro-interactions, états focus/active, support complet
   ======================================================== */

/* ========================================================
   21. ANIMATIONS SUPPLÉMENTAIRES
   ======================================================== */
@keyframes rippleEffect {
    0% { transform: scale(0.8); opacity: 0.5; }
    100% { transform: scale(2); opacity: 0; }
}

@keyframes borderPulse {
    0%, 100% { border-color: rgba(255, 255, 255, 0.8); }
    50% { border-color: rgba(59, 130, 246, 0.5); }
}

@keyframes backgroundShift {
    0% { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}

@keyframes glowPulse {
    0%, 100% { text-shadow: 0 0 5px rgba(59, 130, 246, 0); }
    50% { text-shadow: 0 0 15px rgba(59, 130, 246, 0.5); }
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-30px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to { opacity: 1; transform: translateX(0); }
}

/* ========================================================
   22. MICRO-INTERACTIONS (ÉTATS FOCUS/ACTIVE)
   ======================================================== */
/* Focus sur les éléments interactifs */
.elementor-widget-st_list_service .nav-tabs a:focus-visible,
.elementor-widget-st_list_service .service-add-wishlist:focus-visible,
.elementor-widget-st_list_service .page-numbers li a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    transform: scale(1.02);
}

/* État active (clic) */
.elementor-widget-st_list_service .nav-tabs a:active {
    transform: translateY(0px) scale(0.98);
}

.elementor-widget-st_list_service .service-add-wishlist:active {
    transform: scale(0.95);
}

.elementor-widget-st_list_service .page-numbers li a:active {
    transform: translateY(0px) scale(0.98);
}

/* ========================================================
   23. EFFET RIPPLE AU CLIC (optionnel)
   ======================================================== */
.elementor-widget-st_list_service .ripple {
    position: relative;
    overflow: hidden;
}

.elementor-widget-st_list_service .ripple::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
    transition: width 0.4s ease, height 0.4s ease;
}

.elementor-widget-st_list_service .ripple:active::after {
    width: 300px;
    height: 300px;
    opacity: 0;
    transition: 0s;
}

/* ========================================================
   24. BORDURES ANIMÉES AU SURVOL
   ======================================================== */
.elementor-widget-st_list_service .item.service-border {
    position: relative;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.elementor-widget-st_list_service .item.service-border::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 36px;
    padding: 2px;
    background: linear-gradient(135deg, transparent, rgba(59, 130, 246, 0.3), transparent);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.elementor-widget-st_list_service .item.service-border:hover::before {
    opacity: 1;
    animation: borderPulse 2s infinite;
}

/* ========================================================
   25. SCROLLBAR PERSONNALISÉE (Pour les menus défilants)
   ======================================================== */
.elementor-widget-st_list_service .nav-tabs::-webkit-scrollbar {
    height: 4px !important;
}

.elementor-widget-st_list_service .nav-tabs::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05) !important;
    border-radius: 10px !important;
}

.elementor-widget-st_list_service .nav-tabs::-webkit-scrollbar-thumb {
    background: rgba(59, 130, 246, 0.4) !important;
    border-radius: 10px !important;
}

.elementor-widget-st_list_service .nav-tabs::-webkit-scrollbar-thumb:hover {
    background: rgba(59, 130, 246, 0.7) !important;
}

/* ========================================================
   26. ÉTATS VIDES / AUCUN RÉSULTAT
   ======================================================== */
.elementor-widget-st_list_service .st-no-result {
    text-align: center;
    padding: 60px 20px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.elementor-widget-st_list_service .st-no-result h3 {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 12px;
}

.elementor-widget-st_list_service .st-no-result p {
    font-size: 14px;
    color: #64748b;
}

.elementor-widget-st_list_service .st-no-result .btn {
    margin-top: 20px;
    display: inline-flex;
}

/* ========================================================
   27. ÉTAT CHARGEMENT (SKELETON LOADER)
   ======================================================== */
.elementor-widget-st_list_service .skeleton-card {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 36px;
    padding: 0;
    overflow: hidden;
    animation: cardFloatIn 0.5s ease;
}

.elementor-widget-st_list_service .skeleton-image {
    aspect-ratio: 4/3;
    background: linear-gradient(90deg, rgba(0,0,0,0.05) 25%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.05) 75%);
    background-size: 200% 100%;
    animation: skeletonLoading 1.5s infinite;
}

@keyframes skeletonLoading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.elementor-widget-st_list_service .skeleton-content {
    padding: 24px;
}

.elementor-widget-st_list_service .skeleton-title {
    height: 24px;
    width: 80%;
    background: linear-gradient(90deg, rgba(0,0,0,0.05) 25%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.05) 75%);
    background-size: 200% 100%;
    border-radius: 8px;
    margin-bottom: 16px;
    animation: skeletonLoading 1.5s infinite;
}

.elementor-widget-st_list_service .skeleton-text {
    height: 14px;
    width: 60%;
    background: linear-gradient(90deg, rgba(0,0,0,0.05) 25%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.05) 75%);
    background-size: 200% 100%;
    border-radius: 6px;
    margin-bottom: 12px;
    animation: skeletonLoading 1.5s infinite;
}

/* ========================================================
   28. BADGES SUPPLÉMENTAIRES (PROMOTIONS SPÉCIALES)
   ======================================================== */
.elementor-widget-st_list_service .badge-new {
    background: linear-gradient(135deg, #06b6d4, #3b82f6);
    color: white;
    padding: 4px 12px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    margin-left: 8px;
    animation: glowPulse 2s infinite;
}

.elementor-widget-st_list_service .badge-best-seller {
    background: linear-gradient(135deg, #f59e0b, #f97316);
    color: white;
    padding: 4px 12px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    margin-left: 8px;
}

.elementor-widget-st_list_service .badge-limited {
    background: linear-gradient(135deg, #ef4444, #ec4899);
    color: white;
    padding: 4px 12px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    margin-left: 8px;
    animation: glowPulse 1.5s infinite;
}

/* ========================================================
   29. AMÉLIORATIONS DES ÉTOILES (RATING)
   ======================================================== */
.elementor-widget-st_list_service .st-stars .half-star {
    position: relative;
    display: inline-block;
}

.elementor-widget-st_list_service .st-stars .half-star::before {
    content: '★';
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    overflow: hidden;
    color: #fbbf24;
}

.elementor-widget-st_list_service .rating-value {
    font-weight: 800;
    color: #fbbf24;
    font-size: 15px;
    margin-right: 4px;
}

.elementor-widget-st_list_service .rating-count {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

/* ========================================================
   30. EFFET DE PROFONDEUR (3D) SUR LES CARTES
   ======================================================== */
.elementor-widget-st_list_service .item.service-border {
    transform-style: preserve-3d;
    transform: perspective(1000px) translateZ(0);
}

.elementor-widget-st_list_service .item.service-border:hover {
    transform: perspective(1000px) translateY(-10px) translateZ(20px) scale(1.02);
}

.elementor-widget-st_list_service .featured-image {
    transform-style: preserve-3d;
}

.elementor-widget-st_list_service .item.service-border:hover .featured-image {
    transform: translateZ(10px);
}

.elementor-widget-st_list_service .content-item {
    transform-style: preserve-3d;
}

.elementor-widget-st_list_service .item.service-border:hover .content-item {
    transform: translateZ(5px);
}

/* ========================================================
   31. FILTRES ACTIFS / TRI
   ======================================================== */
.elementor-widget-st_list_service .filter-active {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: white !important;
    border-radius: 100px;
    padding: 8px 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.3s ease;
}

.elementor-widget-st_list_service .filter-active .close {
    cursor: pointer;
    font-size: 14px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.elementor-widget-st_list_service .filter-active .close:hover {
    opacity: 1;
}

/* ========================================================
   32. TOOLTIPS AVANCÉES (POUR LES ICÔNES)
   ======================================================== */
.elementor-widget-st_list_service [data-tooltip] {
    position: relative;
    cursor: help;
}

.elementor-widget-st_list_service [data-tooltip]::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%) translateY(10px) scale(0.9);
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.elementor-widget-st_list_service [data-tooltip]:hover::before {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
}

/* ========================================================
   33. OPTIMISATIONS DES TRANSITIONS
   ======================================================== */
.elementor-widget-st_list_service * {
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.elementor-widget-st_list_service .item.service-border,
.elementor-widget-st_list_service .service-add-wishlist,
.elementor-widget-st_list_service .page-numbers li a,
.elementor-widget-st_list_service .nav-tabs a {
    transition-property: all;
}

.elementor-widget-st_list_service .featured-image img {
    transition-property: transform;
}

.elementor-widget-st_list_service .service-avatar {
    transition-property: transform;
}

/* ========================================================
   34. SUPPORT DARK MODE (SI ACTIVÉ)
   ======================================================== */
@media (prefers-color-scheme: dark) {
    .elementor-widget-st_list_service {
        background: radial-gradient(circle at 50% 0%, #0f172a, #020617 100%);
    }
    
    .elementor-widget-st_list_service .item.service-border {
        background: linear-gradient(135deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.3)) !important;
        border-color: rgba(255, 255, 255, 0.1);
    }
    
    .elementor-widget-st_list_service .title a {
        color: #f1f5f9 !important;
    }
    
    .elementor-widget-st_list_service .sub-title,
    .elementor-widget-st_list_service .reviews .summary {
        color: #94a3b8 !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs {
        background: rgba(30, 41, 59, 0.6) !important;
        border-color: rgba(255, 255, 255, 0.1);
    }
    
    .elementor-widget-st_list_service .nav-tabs a {
        color: #cbd5e1 !important;
    }
    
    .elementor-widget-st_list_service .nav-tabs a.active {
        background: linear-gradient(135deg, #1e293b, #334155) !important;
        color: #ffffff !important;
    }
    
    .elementor-widget-st_list_service .page-numbers li a,
    .elementor-widget-st_list_service .page-numbers li span {
        background: rgba(30, 41, 59, 0.7) !important;
        color: #f1f5f9 !important;
        border-color: rgba(255, 255, 255, 0.1);
    }
    
    .elementor-widget-st_list_service .page-numbers li a:hover {
        background: #334155 !important;
        color: #3b82f6 !important;
    }
    
    .elementor-widget-st_list_service .price {
        color: #f1f5f9 !important;
    }
}

/* ========================================================
   35. IMPRESSION (MODE PRINT)
   ======================================================== */
@media print {
    .elementor-widget-st_list_service,
    .elementor-widget-st_list_service * {
        background: white !important;
        backdrop-filter: none !important;
        box-shadow: none !important;
        color: black !important;
    }
    
    .elementor-widget-st_list_service .service-add-wishlist,
    .elementor-widget-st_list_service .service-avatar,
    .elementor-widget-st_list_service .featured-image::after,
    .elementor-widget-st_list_service .item.service-border::before {
        display: none !important;
    }
    
    .elementor-widget-st_list_service .item.service-border {
        border: 1px solid #ccc !important;
        break-inside: avoid;
    }
}

/* ========================================================
   36. UTILITAIRES ADDITIONNELS
   ======================================================== */
.elementor-widget-st_list_service .text-gradient {
    background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.elementor-widget-st_list_service .text-center {
    text-align: center;
}

.elementor-widget-st_list_service .mb-0 {
    margin-bottom: 0 !important;
}

.elementor-widget-st_list_service .mt-2 {
    margin-top: 8px !important;
}

.elementor-widget-st_list_service .p-0 {
    padding: 0 !important;
}

.elementor-widget-st_list_service .d-flex {
    display: flex !important;
}

.elementor-widget-st_list_service .align-center {
    align-items: center !important;
}

.elementor-widget-st_list_service .justify-between {
    justify-content: space-between !important;
}

.elementor-widget-st_list_service .gap-2 {
    gap: 8px !important;
}

.elementor-widget-st_list_service .gap-3 {
    gap: 16px !important;
}

.elementor-widget-st_list_service .w-100 {
    width: 100% !important;
}

/* ========================================================
   37. CORRECTIONS FINALES POUR TRAVELER THEME
   ======================================================== */
/* Correction des conflits avec le thème Traveler */
.elementor-widget-st_list_service .st-border-radius {
    overflow: visible !important;
}

.elementor-widget-st_list_service .service-border {
    border: none !important;
}

.elementor-widget-st_list_service .st-hover-grow {
    transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.elementor-widget-st_list_service .item.service-border:hover .st-hover-grow {
    transform: scale(1.06) !important;
}

.elementor-widget-st_list_service .st-list-mobile {
    display: none !important;
}

/* Correction pour les images placeholder */
.elementor-widget-st_list_service .featured-image img[src*="placehold"] {
    background: linear-gradient(135deg, #e2e8f0, #f1f5f9);
}

/* ========================================================
   FIN COMPLÈTE - THEME TRAVELER 2030 FROSTED DIAMOND
   ======================================================== */
   
   
   
   
   
   
   
   /* ========================================================
   🌊 THEME TRAVELER 2030 - FROSTED DIAMOND (PARTIE 3 - FINALE ABSOLUE)
   Ajouts : Composants supplémentaires, intégration Traveler,
   widgets additionnels, corrections ultimes
   ======================================================== */

/* ========================================================
   38. COMPOSANTS SUPPLÉMENTAIRES - FILTRES LATÉRAUX
   ======================================================== */
.elementor-widget-st_list_service .st-filter-sidebar {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(24px);
    border-radius: 32px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    margin-bottom: 30px;
}

.elementor-widget-st_list_service .st-filter-sidebar h4 {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
}

.elementor-widget-st_list_service .st-filter-sidebar .filter-group {
    margin-bottom: 24px;
}

.elementor-widget-st_list_service .st-filter-sidebar .filter-group label {
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    display: block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-widget-st_list_service .st-filter-sidebar select,
.elementor-widget-st_list_service .st-filter-sidebar input[type="text"],
.elementor-widget-st_list_service .st-filter-sidebar input[type="number"] {
    width: 100%;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #0f172a;
    transition: all 0.3s ease;
}

.elementor-widget-st_list_service .st-filter-sidebar select:focus,
.elementor-widget-st_list_service .st-filter-sidebar input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.elementor-widget-st_list_service .st-filter-sidebar .price-slider {
    padding: 10px 0;
}

.elementor-widget-st_list_service .st-filter-sidebar .ui-slider {
    background: rgba(0, 0, 0, 0.1);
    height: 4px;
    border-radius: 4px;
    margin: 20px 0;
}

.elementor-widget-st_list_service .st-filter-sidebar .ui-slider .ui-slider-handle {
    width: 16px;
    height: 16px;
    background: #3b82f6;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.elementor-widget-st_list_service .st-filter-sidebar .ui-slider .ui-slider-range {
    background: linear-gradient(90deg, #3b82f6, #8b5cf6);
    height: 4px;
}

/* ========================================================
   39. MODE GRILLE / LISTE (TOGGLE)
   ======================================================== */
.elementor-widget-st_list_service .layout-switcher {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    justify-content: flex-end;
}

.elementor-widget-st_list_service .layout-switcher button {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    padding: 10px 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #64748b;
}

.elementor-widget-st_list_service .layout-switcher button.active {
    background: #0f172a;
    color: white;
    border-color: #0f172a;
}

.elementor-widget-st_list_service .layout-switcher button:hover {
    transform: translateY(-2px);
    background: #ffffff;
}

/* Mode Liste */
.elementor-widget-st_list_service .services-list .services-item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.elementor-widget-st_list_service .services-list .item.service-border {
    flex-direction: row !important;
    align-items: stretch !important;
}

.elementor-widget-st_list_service .services-list .featured-image {
    flex: 0 0 280px !important;
    border-radius: 32px 0 0 32px !important;
}

.elementor-widget-st_list_service .services-list .content-item {
    flex: 1 !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.elementor-widget-st_list_service .services-list .section-footer {
    margin-top: 0;
    justify-content: flex-end;
}

@media (max-width: 768px) {
    .elementor-widget-st_list_service .services-list .item.service-border {
        flex-direction: column !important;
    }
    .elementor-widget-st_list_service .services-list .featured-image {
        flex: 0 0 auto !important;
        border-radius: 32px 32px 0 0 !important;
    }
}

/* ========================================================
   40. BOUTON RETOUR EN HAUT (SCROLL TO TOP)
   ======================================================== */
.elementor-widget-st_list_service .st-scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.elementor-widget-st_list_service .st-scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

.elementor-widget-st_list_service .st-scroll-top:hover {
    transform: translateY(-5px) scale(1.1);
    background: #3b82f6;
    box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3);
}

.elementor-widget-st_list_service .st-scroll-top i {
    color: white;
    font-size: 20px;
}

/* ========================================================
   41. COMPOSANT MAP (SI ACTIF)
   ======================================================== */
.elementor-widget-st_list_service .st-map-wrapper {
    margin-bottom: 30px;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.elementor-widget-st_list_service .st-map-wrapper iframe {
    width: 100%;
    height: 400px;
    border: none;
}

.elementor-widget-st_list_service .st-map-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    padding: 12px 24px;
    border-radius: 100px;
    margin-bottom: 20px;
    cursor: pointer;
    font-weight: 700;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.elementor-widget-st_list_service .st-map-toggle:hover {
    background: #ffffff;
    transform: translateY(-2px);
}

/* ========================================================
   42. COMPOSANT CALENDRIER / DATE PICKER
   ======================================================== */
.elementor-widget-st_list_service .st-date-picker {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border-radius: 28px;
    padding: 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.elementor-widget-st_list_service .st-date-picker .date-range {
    display: flex;
    gap: 16px;
}

.elementor-widget-st_list_service .st-date-picker .date-field {
    flex: 1;
}

.elementor-widget-st_list_service .st-date-picker label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #3b82f6;
    display: block;
    margin-bottom: 6px;
}

.elementor-widget-st_list_service .st-date-picker input {
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    padding: 8px 0;
    width: 100%;
    cursor: pointer;
}

.elementor-widget-st_list_service .st-date-picker input:focus {
    outline: none;
}

/* ========================================================
   43. COMPOSANT SÉLECTEUR DE VOYAGEURS (GUESTS)
   ======================================================== */
.elementor-widget-st_list_service .st-guests-.elementor-71 .elementor-element.elementor-element-59c54b3 {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border-radius: 28px;
    padding: 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    cursor: pointer;
}

.elementor-widget-st_list_service .st-guests-.elementor-71 .elementor-element.elementor-element-59c54b3 .guests-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.elementor-widget-st_list_service .st-guests-.elementor-71 .elementor-element.elementor-element-59c54b3 .guests-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #3b82f6;
}

.elementor-widget-st_list_service .st-guests-.elementor-71 .elementor-element.elementor-element-59c54b3 .guests-value {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
}

.elementor-widget-st_list_service .st-guests-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(24px);
    border-radius: 24px;
    padding: 20px;
    margin-top: 10px;
    z-index: 100;
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.9);
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-type {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-type span:first-child {
    font-weight: 700;
    color: #0f172a;
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-controls {
    display: flex;
    align-items: center;
    gap: 12px;
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-controls button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
    border: none;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-controls button:hover {
    background: #3b82f6;
    color: white;
}

.elementor-widget-st_list_service .st-guests-dropdown .guest-controls span {
    min-width: 30px;
    text-align: center;
    font-weight: 700;
}

/* ========================================================
   44. NOTIFICATIONS & TOASTS
   ======================================================== */
.elementor-widget-st_list_service .st-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(20px);
    color: white;
    padding: 14px 28px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 14px;
    z-index: 10000;
    transition: transform 0.4s ease;
    white-space: nowrap;
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.elementor-widget-st_list_service .st-toast.show {
    transform: translateX(-50%) translateY(0);
}

.elementor-widget-st_list_service .st-toast.success {
    background: linear-gradient(135deg, #10b981, #059669);
}

.elementor-widget-st_list_service .st-toast.error {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

.elementor-widget-st_list_service .st-toast.info {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
}

/* ========================================================
   45. MODAL / POPUP (DÉTAILS SERVICE)
   ======================================================== */
.elementor-widget-st_list_service .st-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.8);
    backdrop-filter: blur(20px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.elementor-widget-st_list_service .st-modal.open {
    opacity: 1;
    visibility: visible;
}

.elementor-widget-st_list_service .st-modal-content {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(40px);
    border-radius: 48px;
    max-width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.2);
    animation: cardFloatIn 0.5s ease;
}

.elementor-widget-st_list_service .st-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.elementor-widget-st_list_service .st-modal-close:hover {
    background: #ef4444;
    color: white;
    transform: rotate(90deg);
}

/* ========================================================
   46. ANIMATIONS DE CHARGEMENT INFINI (INFINITE SCROLL)
   ======================================================== */
.elementor-widget-st_list_service .st-infinite-loader {
    text-align: center;
    padding: 30px;
}

.elementor-widget-st_list_service .st-infinite-loader .loader {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 3px solid rgba(59, 130, 246, 0.2);
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.elementor-widget-st_list_service .st-infinite-trigger {
    height: 20px;
    opacity: 0;
    pointer-events: none;
}

/* ========================================================
   47. INTÉGRATION TRAVELER THEME (CLASSES SPÉCIFIQUES)
   ======================================================== */
/* Correction des classes Traveler natives */
.elementor-widget-st_list_service .st-border {
    border: none !important;
}

.elementor-widget-st_list_service .st-border-radius {
    border-radius: 0 !important;
}

.elementor-widget-st_list_service .st-hover-grow {
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.elementor-widget-st_list_service .item.service-border:hover .st-hover-grow {
    transform: scale(1.05) !important;
}

.elementor-widget-st_list_service .stt-icon-star1 {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fbbf24"><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>') no-repeat center;
    background-size: contain;
}

.elementor-widget-st_list_service .stt-icon-location1 {
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233b82f6"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>') no-repeat center;
    background-size: contain;
}

/* ========================================================
   48. CORRECTIONS POUR LA COMPATIBILITÉ WORDPRESS
   ======================================================== */
/* Évite les conflits avec le CSS du thème */
.elementor-widget-st_list_service .item.service-border {
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
}

.elementor-widget-st_list_service .featured-image img {
    width: 100% !important;
    height: auto !important;
    min-height: 180px !important;
}

.elementor-widget-st_list_service .service-add-wishlist .lds-dual-ring {
    display: none !important;
}

/* Correction des boutons en double */
.elementor-widget-st_list_service .btn,
.elementor-widget-st_list_service button {
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* ========================================================
   49. VARIABLES CSS (PERSONNALISATION FACILE)
   ======================================================== */
:root {
    --st-primary: #3b82f6;
    --st-secondary: #8b5cf6;
    --st-accent: #ec4899;
    --st-cyan: #06b6d4;
    --st-dark: #0f172a;
    --st-light: #ffffff;
    --st-gray: #64748b;
    --st-glass-bg: rgba(255, 255, 255, 0.7);
    --st-glass-border: rgba(255, 255, 255, 0.8);
    --st-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
    --st-shadow-hover: 0 40px 80px -15px rgba(15, 23, 42, 0.15);
    --st-transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    --st-border-radius: 32px;
    --st-border-radius-sm: 20px;
    --st-border-radius-lg: 48px;
}

/* Utilisation des variables (optionnel) */
.elementor-widget-st_list_service {
    --st-primary: #3b82f6;
}

/* ========================================================
   50. FINALE - RESPONSIVE EXTRÊME (TRÈS PETITS ÉCRANS)
   ======================================================== */
@media (max-width: 380px) {
    .elementor-widget-st_list_service {
        padding: 20px 6px;
    }
    
    .elementor-widget-st_list_service .nav-tabs a {
        padding: 6px 14px !important;
        font-size: 10px !important;
    }
    
    .elementor-widget-st_list_service .title a {
        font-size: 15px !important;
    }
    
    .elementor-widget-st_list_service .price {
        font-size: 16px !important;
    }
    
    .elementor-widget-st_list_service .unit {
        font-size: 10px !important;
    }
    
    .elementor-widget-st_list_service .service-avatar img {
        width: 38px !important;
        height: 38px !important;
    }
    
    .elementor-widget-st_list_service .service-add-wishlist {
        width: 30px !important;
        height: 30px !important;
    }
    
    .elementor-widget-st_list_service .featured,
    .elementor-widget-st_list_service .st_sale_class {
        padding: 4px 8px !important;
        font-size: 8px !important;
    }
    
    .elementor-widget-st_list_service .content-item {
        padding: 16px 12px 12px 12px !important;
    }
    
    .elementor-widget-st_list_service .sub-title {
        font-size: 10px !important;
    }
    
    .elementor-widget-st_list_service .reviews .rate {
        font-size: 12px !important;
    }
    
    .elementor-widget-st_list_service .reviews .summary {
        font-size: 10px !important;
    }
    
    .elementor-widget-st_list_service .page-numbers li a,
    .elementor-widget-st_list_service .page-numbers li span {
        min-width: 32px !important;
        height: 32px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments {
        gap: 8px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments .ico i {
        font-size: 14px !important;
    }
    
    .elementor-widget-st_list_service .car-equipments .text {
        font-size: 8px !important;
    }
}

/* ========================================================
   51. PERFORMANCES & OPTIMISATIONS FINALES
   ======================================================== */
/* Réduire les animations pour les appareils à faible batterie */
@media (prefers-reduced-motion: reduce) {
    .elementor-widget-st_list_service *,
    .elementor-widget-st_list_service .item.service-border,
    .elementor-widget-st_list_service .featured-image img,
    .elementor-widget-st_list_service .service-avatar {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
    
    .elementor-widget-st_list_service .featured-image::after,
    .elementor-widget-st_list_service .item.service-border::before {
        display: none !important;
    }
}

/* Lazy loading des images */
.elementor-widget-st_list_service img.lazy {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.elementor-widget-st_list_service img.lazy.loaded {
    opacity: 1;
}

/* Optimisation du rendu */
.elementor-widget-st_list_service .item.service-border {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* ========================================================
   🎉 FINALE ABSOLUE - THEME TRAVELER 2030 FROSTED DIAMOND
   Version : 3.0 Ultimate
   Compatibilité : WordPress + Elementor + Traveler Theme
   ======================================================== *//* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-8e30da3 *//* ========================================================
   💎 THEME TRAVELER 2030 - NEWSLETTER SECTION (FINAL)
   CORRECTIONS : Texte lisible, Bouton aligné, Glassmorphisme
   ======================================================== */

/* ========================================================
   1. ANIMATIONS
   ======================================================== */
@keyframes liquidGlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cardFloat {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ========================================================
   2. CONTENEUR PRINCIPAL
   ======================================================== */
.elementor-element-460e09aa {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 40px auto !important;
    padding: 48px 40px !important;
    border-radius: 48px !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.7)) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(48px) saturate(200%) !important;
    -webkit-backdrop-filter: blur(48px) saturate(200%) !important;
    box-shadow: 0 50px 100px -20px rgba(15, 23, 42, 0.15), inset 0 4px 6px rgba(255, 255, 255, 1) !important;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* ========================================================
   3. DISPOSITION DES COLONNES
   ======================================================== */
.elementor-element-460e09aa .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 40px !important;
}

/* Colonne Image (gauche) */
.elementor-element-460e09aa .elementor-element-4df5e24f {
    flex: 1 !important;
    min-width: 280px !important;
}

.elementor-element-460e09aa .elementor-element-4df5e24f img {
    width: 100% !important;
    max-width: 450px !important;
    border-radius: 32px !important;
    display: block !important;
    margin: 0 auto !important;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    box-shadow: 0 25px 40px -15px rgba(0, 0, 0, 0.15) !important;
}

.elementor-element-460e09aa .elementor-element-4df5e24f img:hover {
    transform: scale(1.02) translateY(-5px) !important;
    box-shadow: 0 35px 50px -15px rgba(59, 130, 246, 0.25) !important;
}

/* Colonne Contenu (droite) */
.elementor-element-460e09aa .elementor-element-62b36359 {
    flex: 1 !important;
    min-width: 300px !important;
    text-align: center !important;
    padding: 20px !important;
}

/* ========================================================
   4. TITRE - BIEN LISIBLE
   ======================================================== */
.elementor-element-460e09aa .elementor-element-73f05e84 .elementor-heading-title {
    font-size: 38px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    color: #0f172a !important;  /* Texte sombre lisible */
    letter-spacing: -0.5px !important;
    animation: fadeInUp 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    animation-delay: 0.2s;
}

/* Version gradient (optionnel mais reste lisible car fond clair) */
.elementor-element-460e09aa .elementor-element-73f05e84:hover .elementor-heading-title {
    background: linear-gradient(135deg, #0f172a, #3b82f6) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* ========================================================
   5. SOUS-TITRE - BIEN LISIBLE
   ======================================================== */
.elementor-element-460e09aa .elementor-element-15dba4b5 .elementor-heading-title {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    color: #475569 !important;  /* Gris foncé lisible */
    margin-bottom: 32px !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    animation: fadeInUp 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    animation-delay: 0.3s;
}

/* ========================================================
   6. FORMULAIRE - BIEN ALIGNÉ ET LISIBLE
   ======================================================== */
.elementor-element-460e09aa .elementor-element-108ddd25 {
    animation: fadeInUp 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    animation-delay: 0.4s;
}

.elementor-element-460e09aa .stt-mailchimp-form {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 100px !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    padding: 8px 8px 8px 24px !important;
    max-width: 550px !important;
    margin: 0 auto !important;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.elementor-element-460e09aa .stt-mailchimp-form:hover {
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(59, 130, 246, 0.4) !important;
    box-shadow: 0 15px 35px -15px rgba(59, 130, 246, 0.2) !important;
}

/* CHAMP EMAIL - LISIBLE */
.elementor-element-460e09aa .stt-mailchimp-form input[type="email"],
.elementor-element-460e09aa .stt-mailchimp-form .form-control {
    flex: 1 !important;
    height: 58px !important;
    padding: 0 16px !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    border-radius: 0 !important;
}

.elementor-element-460e09aa .stt-mailchimp-form input[type="email"]::placeholder {
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

.elementor-element-460e09aa .stt-mailchimp-form input[type="email"]:focus {
    color: #3b82f6 !important;
}

/* BOUTON - BIEN POSITIONNÉ */
.elementor-element-460e09aa .stt-mailchimp-form input[type="submit"] {
    background: #0f172a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 0 36px !important;
    height: 58px !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.3) !important;
    white-space: nowrap !important;
}

.elementor-element-460e09aa .stt-mailchimp-form input[type="submit"]::before {
    content: '';
    position: absolute;
    inset: -2px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899, #06b6d4, #3b82f6);
    background-size: 300% 100%;
    border-radius: inherit;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.elementor-element-460e09aa .stt-mailchimp-form input[type="submit"]:hover {
    transform: scale(1.02) translateY(-2px) !important;
    box-shadow: 0 20px 30px -10px rgba(139, 92, 246, 0.4) !important;
}

.elementor-element-460e09aa .stt-mailchimp-form input[type="submit"]:hover::before {
    opacity: 1;
    animation: liquidGlow 3s linear infinite;
}

/* Messages de réponse */
.elementor-element-460e09aa .mc4wp-response {
    margin-top: 20px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.elementor-element-460e09aa .mc4wp-alert {
    padding: 10px 20px !important;
    border-radius: 100px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    display: inline-block !important;
}

.elementor-element-460e09aa .mc4wp-success {
    color: #10b981 !important;
}

.elementor-element-460e09aa .mc4wp-error {
    color: #ef4444 !important;
}

/* ========================================================
   7. RESPONSIVE - TABLETTE (max-width: 991px)
   ======================================================== */
@media (max-width: 991px) {
    .elementor-element-460e09aa {
        padding: 32px 24px !important;
        border-radius: 40px !important;
        margin: 30px auto !important;
    }
    
    .elementor-element-460e09aa .elementor-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-4df5e24f img {
        max-width: 300px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-73f05e84 .elementor-heading-title {
        font-size: 32px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-15dba4b5 .elementor-heading-title {
        font-size: 15px !important;
        padding: 0 20px !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form {
        max-width: 450px !important;
    }
}

/* ========================================================
   8. RESPONSIVE - MOBILE (max-width: 767px)
   ======================================================== */
@media (max-width: 767px) {
    .elementor-element-460e09aa {
        padding: 28px 20px !important;
        border-radius: 32px !important;
        margin: 20px auto !important;
    }
    
    .elementor-element-460e09aa .elementor-element-73f05e84 .elementor-heading-title {
        font-size: 28px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-15dba4b5 .elementor-heading-title {
        font-size: 14px !important;
        margin-bottom: 24px !important;
    }
    
    /* FORMULAIRE EN COLONNE SUR MOBILE */
    .elementor-element-460e09aa .stt-mailchimp-form {
        flex-direction: column !important;
        background: transparent !important;
        backdrop-filter: none !important;
        border: none !important;
        padding: 0 !important;
        gap: 16px !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form input[type="email"],
    .elementor-element-460e09aa .stt-mailchimp-form .form-control {
        width: 100% !important;
        height: 54px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border-radius: 100px !important;
        padding: 0 24px !important;
        border: 1px solid rgba(255, 255, 255, 0.9) !important;
        text-align: center !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form input[type="submit"] {
        width: 100% !important;
        height: 54px !important;
        padding: 0 20px !important;
    }
}

/* ========================================================
   9. RESPONSIVE - PETIT MOBILE (max-width: 480px)
   ======================================================== */
@media (max-width: 480px) {
    .elementor-element-460e09aa {
        padding: 20px 16px !important;
        border-radius: 28px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-73f05e84 .elementor-heading-title {
        font-size: 24px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-15dba4b5 .elementor-heading-title {
        font-size: 13px !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form input[type="email"],
    .elementor-element-460e09aa .stt-mailchimp-form .form-control {
        height: 50px !important;
        font-size: 14px !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form input[type="submit"] {
        height: 50px !important;
        font-size: 12px !important;
    }
    
    .elementor-element-460e09aa .elementor-element-4df5e24f img {
        max-width: 250px !important;
        border-radius: 24px !important;
    }
}

/* ========================================================
   10. FALLBACKS
   ======================================================== */
/* Support iOS */
@supports (-webkit-touch-callout: none) {
    .elementor-element-460e09aa {
        background: rgba(255, 255, 255, 0.98) !important;
    }
}

/* Fallback sans backdrop-filter */
@supports not (backdrop-filter: blur(48px)) {
    .elementor-element-460e09aa {
        background: rgba(255, 255, 255, 0.98) !important;
    }
    
    .elementor-element-460e09aa .stt-mailchimp-form {
        background: rgba(255, 255, 255, 0.9) !important;
    }
}/* End custom CSS */