:root{--primary: #c5a059;--primary-hover: #b08d45;--primary-gradient-end: #b89542;--secondary: #0f1623;--accent: #1a202e;--background: #f3eee8;--surface: #ffffff;--text-main: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2.5rem;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 30px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .04);--shadow-premium: 0 20px 40px -5px rgba(197, 160, 89, .15);--primary-5: rgba(197, 160, 89, .05);--primary-10: rgba(197, 160, 89, .1);--primary-15: rgba(197, 160, 89, .15);--primary-20: rgba(197, 160, 89, .2);--primary-30: rgba(197, 160, 89, .3);--white-3: rgba(255, 255, 255, .03);--white-5: rgba(255, 255, 255, .05);--white-10: rgba(255, 255, 255, .1);--white-20: rgba(255, 255, 255, .2);--white-50: rgba(255, 255, 255, .5);--white-60: rgba(255, 255, 255, .6);--white-70: rgba(255, 255, 255, .7);--white-85: rgba(255, 255, 255, .85);--white-90: rgba(255, 255, 255, .9);--black-5: rgba(0, 0, 0, .05);--black-10: rgba(0, 0, 0, .1);--black-20: rgba(0, 0, 0, .2);--black-40: rgba(0, 0, 0, .4);--black-50: rgba(0, 0, 0, .5);--black-70: rgba(0, 0, 0, .7);--gray-50: #f8fafc;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-lightest: #eeeeee;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-700: #334155;--gold-premium: #CFAD58;--gold-metallic: #d4af37;--primary-90: rgba(197, 160, 89, .9);--white-15: rgba(255, 255, 255, .15);--white-80: rgba(255, 255, 255, .8);--gold-metallic-30: rgba(212, 175, 55, .3);--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--surface-hover: #fdfbf7;--scrollbar-track: #f1f1f1;--scrollbar-thumb: #c1c1c1;--scrollbar-thumb-hover: #a8a8a8;--primary-color: var(--primary);--secondary-color: var(--secondary);--text-primary: var(--text-main);--text-secondary: var(--text-light);--text-muted: var(--text-light)}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:hidden!important;width:100%;overscroll-behavior-x:none;touch-action:pan-y}.site{overflow-x:hidden!important;width:100%;position:relative}body{background-color:#f3eee8;background-repeat:repeat;color:#1f2937;font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.6;position:relative;scrollbar-width:thin;scrollbar-color:#1a202e #f8fafc}body.menu-open,body.sidebar-open{overflow:hidden!important;touch-action:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f8fafc;border-radius:8px}::-webkit-scrollbar-thumb{background:#1a202e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#c5a059}h1,h2,h3,h4,h5,h6{color:#c5a059;margin-top:0}.container{max-width:1536px;width:100%;margin:0 auto;padding:0 1.5rem}a{color:#1a202e;text-decoration:none;transition:color .3s ease}a:hover{color:#b8954f}img{max-width:100%;height:auto}.text-center{text-align:center}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.bg-creme{background-color:var(--background)}.bg-blanc{background-color:#fff}.bg-brume{background-color:#0f1623}.bg-vert-profond{background-color:#c5a059}.text-blanc{color:#fff}#hotels-map-app{display:flex;flex-direction:column;height:calc(100vh - 80px);border-top:1px solid #e5e7eb;background:#fff;overflow:hidden}@media (min-width: 992px){#hotels-map-app{flex-direction:row}}#hotels-map-app .hotels-sidebar{width:100%;display:flex;flex-direction:column;z-index:10;background:#fff}@media (min-width: 992px){#hotels-map-app .hotels-sidebar{display:flex!important;width:450px;height:100%}}#hotels-map-app .hotels-sidebar .hotels-toolbar{width:100%;margin:0;padding:15px 20px;border-bottom:1px solid #e5e7eb;border-radius:0;background-color:#c5a059;display:flex;align-items:center;justify-content:space-between}#hotels-map-app .hotels-sidebar .hotels-toolbar .toolbar-title{font-size:1.25rem;color:#fff;margin:0;font-weight:600}#hotels-map-app .hotels-sidebar .hotels-toolbar .icon-only{background:none;border:none;padding:5px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}#hotels-map-app .hotels-sidebar .hotels-toolbar .icon-only svg{stroke:#fff}#hotels-map-app .hotels-sidebar .hotels-toolbar .icon-only:hover{opacity:.8}#hotels-map-app .hotels-sidebar .hotels-toolbar .icon-only:hover svg{stroke:#000}#hotels-map-app .hotels-sidebar .hotels-filters .sidebar-body{padding:20px}#hotels-map-app .hotels-sidebar .hotels-filters .options-group{margin-top:15px}#hotels-map-app .hotels-sidebar .hotels-list{flex:1;overflow-y:auto;background:#f8fafc;display:none}@media (min-width: 992px){#hotels-map-app .hotels-sidebar .hotels-list{display:block}}#hotels-map-app .hotels-sidebar .hotels-list .hotels-loading,#hotels-map-app .hotels-sidebar .hotels-list .no-results{text-align:center;color:#6b7280;padding:30px 15px;font-size:1rem}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card{display:flex;background:#fff;border-bottom:1px solid var(--primary-30);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-2px);background:#c5a059}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted .hotel-card-info h3,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card:hover .hotel-card-info h3{color:#fff}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted .hotel-card-info .hotel-location,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted .hotel-card-info .hotel-location svg,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card:hover .hotel-card-info .hotel-location,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card:hover .hotel-card-info .hotel-location svg{color:#000}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted .hotel-card-info .hotel-distance,#hotels-map-app .hotels-sidebar .hotels-list .hotel-card:hover .hotel-card-info .hotel-distance{color:#000}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card.highlighted{border-color:#c5a059;box-shadow:0 0 0 2px #c5a0594d}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-img{width:120px;flex-shrink:0}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;min-height:120px;display:block}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info{padding:10px 15px;flex:1}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info h3{margin:0 0 5px;font-size:1.05rem;font-weight:600;line-height:1.3;color:#c5a059}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info .hotel-location{font-size:.85rem;color:#6b7280;margin:0 0 8px;display:flex;align-items:center;gap:4px}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info .hotel-location svg{color:#c5a059;flex-shrink:0}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info .hotel-stars{display:flex;gap:3px;margin-top:4px;margin-bottom:8px}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info .hotel-stars svg{width:14px;height:14px;fill:#0f1623}#hotels-map-app .hotels-sidebar .hotels-list .hotel-card .hotel-card-info .hotel-distance{font-size:.65rem;color:#c5a059;font-weight:500;margin:0;display:inline-block;background:#f8fafc;padding:4px 8px;border-radius:4px}@media (max-width: 991px){#hotels-map-app.show-list .hotels-sidebar{flex:1;height:100%;overflow:hidden}#hotels-map-app.show-list .hotels-list{display:block!important;flex:1;overflow-y:auto}#hotels-map-app.show-list .hotels-map-container{display:none}#hotels-map-app.show-list .mobile-view-toggle .list-btn{background-color:#c5a059;color:#fff}#hotels-map-app.show-list .mobile-view-toggle .map-btn{background-color:#fff;color:#1f2937}}#hotels-map-app .mobile-view-toggle{position:fixed;top:48%;right:0;z-index:1000;display:flex;flex-direction:column;background:#fff;border-radius:8px 0 0 8px;box-shadow:-4px 0 12px #0000001a;overflow:hidden;opacity:0;pointer-events:none;transform:translate(100%);transition:opacity .3s ease,transform .3s ease}#hotels-map-app .mobile-view-toggle.is-visible{opacity:1;pointer-events:auto;transform:translate(0)}@media (min-width: 992px){#hotels-map-app .mobile-view-toggle{display:none!important}}#hotels-map-app .mobile-view-toggle .view-btn{background-color:transparent;color:#1f2937;border:none;padding:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border-bottom:1px solid var(--primary-10)}#hotels-map-app .mobile-view-toggle .view-btn:last-child{border-bottom:none}#hotels-map-app .mobile-view-toggle .view-btn.active,#hotels-map-app .mobile-view-toggle .view-btn:active{background-color:#c5a059;color:#fff}#hotels-map-app .mobile-view-toggle .view-btn.active svg,#hotels-map-app .mobile-view-toggle .view-btn:active svg{stroke:#fff}#hotels-map-app .mobile-view-toggle .view-btn svg{stroke:currentColor}#hotels-map-app .hotels-map-container{flex:1;height:100%;z-index:1;position:relative;overflow:hidden}@media (min-width: 992px){#hotels-map-app .hotels-map-container{display:block!important;height:100%}}#hotels-map-app .hotels-map-container #map{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f8fafc}#hotels-map-app .hotels-map-container #map .maplibregl-canvas{outline:none;max-width:none!important}.map-popup-card h3{font-family:inherit}.map-popup-card .hotel-stars{display:flex;gap:2px;margin-bottom:5px}.map-popup-card .hotel-stars svg{width:14px;height:14px;fill:#c5a059}.custom-layer-control button:hover{background-color:#f8fafc}.maplibregl-popup{max-width:300px!important;z-index:10}@media (min-width: 992px){.maplibregl-popup{max-width:400px!important}}.maplibregl-popup-content{border-radius:8px;padding:12px;box-shadow:0 4px 16px #00000026}.popup-slider-container{position:relative;width:100%;margin-bottom:8px}.popup-slider-container:hover .slider-arrow{opacity:1}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#0009;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;padding:0;opacity:0;transition:opacity .2s,background .2s}.slider-arrow:hover{background:#c5a059e6}.slider-arrow svg{width:16px;height:16px}.slider-arrow.slider-prev{left:4px}.slider-arrow.slider-next{right:4px}.popup-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:4px;height:160px;width:100%;border-radius:4px}@media (min-width: 992px){.popup-slider{height:220px}}.popup-slider::-webkit-scrollbar{height:0;display:none}.popup-slider{scrollbar-width:none}.popup-slider-img{scroll-snap-align:center;flex:0 0 100%;width:100%;height:100%;object-fit:cover;border-radius:4px}.popup-slider-img.single-img{height:160px}@media (min-width: 992px){.popup-slider-img.single-img{height:220px}}.maplibregl-ctrl-group button{background-color:#fff!important;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center center}
