--gold: #C9A961; --dark: #0b0b0b; --card: #1a1a1a; } * { margin: 0; padding: 0; box-sizing: border-box; } body { overflow-x: hidden !important; font-family: 'Segoe UI', Arial, sans-serif; background: var(--dark); color: #fff; } .top-nav { background: #0b0b0b; position: sticky; top: 0; z-index: 1000; border-bottom: 2px solid var(--gold); padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 10px rgba(0,0,0,0.8); } .nav-left { flex: 0 0 auto; } .nav-center { flex: 1; display: flex; justify-content: center; } .nav-right { flex: 0 0 auto; display: flex; gap: 12px; align-items: center; } .nav-btn { background: #1a1a1a; border: 2px solid var(--gold); color: var(--gold); padding: 10px 16px; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 12px; transition: all 0.3s; white-space: nowrap; } .nav-btn:hover { background: var(--gold); color: #000; transform: translateY(-2px); } .logo { color: var(--gold); font-size: 28px; font-weight: bold; text-decoration: none; transition: all 0.3s; } .logo:hover { transform: scale(1.05); text-shadow: 0 0 20px rgba(201, 169, 97, 0.8); } .search-container { display: flex; align-items: center; gap: 8px; max-width: 500px; width: 100%; } .search-input { flex: 1; padding: 10px 20px; background: #1a1a1a; border: 2px solid var(--gold); border-radius: 25px; color: #fff; font-size: 12px; outline: none; transition: all 0.3s; } .search-input:focus { border-color: #d4af6a; box-shadow: 0 0 10px rgba(201, 169, 97, 0.3); } .search-btn { background: var(--gold); color: #000; border: none; padding: 10px 20px; border-radius: 25px; font-weight: bold; cursor: pointer; transition: all 0.3s; font-size: 12px; } .search-btn:hover { background: #d4af6a; transform: scale(1.05); } .language-selector { background: #1a1a1a; border: 2px solid var(--gold); color: var(--gold); padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: 12px; cursor: pointer; transition: all 0.3s; } .language-selector:hover { background: var(--gold); color: #000; } .scrolling-banner { position: sticky; top: 62px; z-index: 999; background: var(--gold); color: #000; padding: 12px 0; overflow: hidden; white-space: nowrap; border-bottom: 2px solid #d4af6a; } .scrolling-text { display: inline-block; padding-left: 100%; animation: scroll-left 30s linear infinite; font-size: 18px; font-weight: 600; } @keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } .categories-wrapper { position: sticky; top: 110px; z-index: 999; background: #1a1a1a; border-bottom: 2px solid var(--gold); } .scroll-btn { position: absolute; top: 50%; transform: translateY(-50%); background: var(--gold); color: #000; border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 20px; cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0,0,0,0.5); transition: all 0.3s; } .scroll-btn.left { left: 10px; } .scroll-btn.right { right: 10px; } .categories-horizontal { padding: 10px 60px; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; scrollbar-color: var(--gold) #0b0b0b; scroll-behavior: smooth; } .cat-link { display: inline-block; padding: 8px 16px; margin-right: 12px; background: #0b0b0b; border: 2px solid var(--gold); color: var(--gold); border-radius: 25px; text-decoration: none; font-size: 12px; font-weight: 600; transition: all 0.3s; cursor: pointer; } .cat-link:hover { background: var(--gold); color: #000; transform: translateY(-2px); } #map { width: 100%; height: calc(100vh - 220px); border-bottom: 2px solid var(--gold); } .leaflet-container { background: #2d2d2d; } .marker-cluster { background: rgba(201, 169, 97, 0.6); border: 3px solid var(--gold); border-radius: 50%; color: #000; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; } .marker-cluster div { background: var(--gold); border-radius: 50%; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; } .marker-cluster-small { width: 40px; height: 40px; } .marker-cluster-medium { width: 50px; height: 50px; } .marker-cluster-large { width: 60px; height: 60px; } .leaflet-popup-content-wrapper { background: var(--card); color: #fff; border: 2px solid var(--gold); border-radius: 8px; } .popup-boutique h3 { color: var(--gold); } .popup-btn { display: inline-block; padding: 8px 20px; background: var(--gold); color: #000; text-decoration: none; border-radius: 6px; font-weight: bold; transition: all 0.3s; } .popup-btn:hover { background: #d4af6a; } /* FOOTER COMPACT HORIZONTAL FIN */ .footer { background: #000; border-top: 1px solid var(--gold); padding: 8px 20px; position: relative; height: 40px; } .footer-compact { display: flex; flex-direction: row; align-items: center; justify-content: space-between; max-width: 100%; margin: 0 auto; height: 100%; } .footer-links { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .footer-link { font-weight: 700; color: #999; text-decoration: none; font-size: 13px; transition: all 0.3s; padding: 4px 8px; } .footer-link:hover { color: var(--gold); } .footer-sep { color: #444; font-size: 10px; } .footer-socials { display: flex; gap: 8px; } .social-mini { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #1a1a1a; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); transition: all 0.3s; text-decoration: none; } .social-mini:hover { background: var(--gold); color: #000; transform: scale(1.1); } .social-mini svg { width: 14px; height: 14px; } .footer-copy { color: var(--gold); font-size: 12px; } @media(max-width: 768px) { .top-nav { flex-wrap: wrap; } .nav-center { order: 3; flex: 1 1 100%; margin-top: 10px; } .logo { font-size: 22px; } #map { height: 300px; } .footer-compact { display: flex; flex-direction: row; align-items: center; justify-content: space-between; max-width: 100%; margin: 0 auto; height: 100%; } .btn-inscription-flash { position: absolute; top: 15px; right: 200px; background: linear-gradient(45deg, #ff6b6b, #ffa500); color: white; padding: 12px 24px; border-radius: 25px; text-decoration: none; font-weight: bold; font-size: 16px; animation: pulse 1.5s infinite; box-shadow: 0 0 20px rgba(255, 107, 107, 0.6); z-index: 1000; } @keyframes pulse { 0% { background: linear-gradient(45deg, #ff6b6b, #ffa500); transform: scale(1); } 25% { background: linear-gradient(45deg, #9b59b6, #e74c3c); transform: scale(1.05); } 50% { background: linear-gradient(45deg, #ffffff, #ecf0f1); color: #000; transform: scale(1); } 75% { background: linear-gradient(45deg, #e74c3c, #c0392b); color: #fff; transform: scale(1.05); } 100% { background: linear-gradient(45deg, #27ae60, #2ecc71); transform: scale(1); } } .btn-inscription-flash { background: linear-gradient(45deg, #ff6b6b, #ffa500); color: white; padding: 12px 20px; border-radius: 25px; text-decoration: none; font-weight: bold; font-size: 14px; animation: pulse 1.5s infinite; box-shadow: 0 0 20px rgba(255, 107, 107, 0.6); white-space: nowrap; } @keyframes pulse { 0% { background: linear-gradient(45deg, #ff6b6b, #ffa500); transform: scale(1); } 25% { background: linear-gradient(45deg, #9b59b6, #e74c3c); transform: scale(1.05); } 50% { background: linear-gradient(45deg, #ffffff, #ecf0f1); color: #000; transform: scale(1); } 75% { background: linear-gradient(45deg, #e74c3c, #c0392b); color: #fff; transform: scale(1.05); } 100% { background: linear-gradient(45deg, #27ae60, #2ecc71); transform: scale(1); } } .btn-inscription-flash { background: linear-gradient(45deg, #ff6b6b, #ffa500); color: white; padding: 8px 16px; border-radius: 25px; text-decoration: none; font-weight: bold; font-size: 12px; animation: pulse 1.5s infinite; box-shadow: 0 0 20px rgba(255, 107, 107, 0.6); white-space: nowrap; margin: 0 15px; } @keyframes pulse { 0% { background: linear-gradient(45deg, #ff6b6b, #ffa500); transform: scale(1); } 25% { background: linear-gradient(45deg, #9b59b6, #e74c3c); transform: scale(1.05); } 50% { background: linear-gradient(45deg, #ffffff, #ecf0f1); color: #000; transform: scale(1); } 75% { background: linear-gradient(45deg, #e74c3c, #c0392b); color: #fff; transform: scale(1.05); } 100% { background: linear-gradient(45deg, #27ae60, #2ecc71); transform: scale(1); } }