/* Base Container */ .promo-section { padding: 2rem 0; } @media (min-width: 1024px) { .promo-section { padding: 3rem 0; } } .container { max-width: var(--max-w-7xl, 80rem); margin: 0 auto; padding: 0 1rem; } @media (min-width: 640px) { .container { padding: 0 1.5rem; } } @media (min-width: 1024px) { .container { padding: 0 2rem; } } /* Display Logic & Breakpoints (770px as requested) */ .desktop-slider { display: none; } .mobile-slider { display: block; } @media (min-width: 770px) { .desktop-slider { display: block; } .mobile-slider { display: none; } } /* Slider Container */ .slider-wrapper { position: relative; width: 100%; border-radius: 0.75rem; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } /* Scroll Track */ .slider-track { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; /* Removed CSS scroll-behavior: smooth so JS can perform 'instant' infinite jumps */ -ms-overflow-style: none; scrollbar-width: none; } .slider-track::-webkit-scrollbar { display: none; } /* Individual Slide */ .slide { flex: 0 0 100%; scroll-snap-align: start; position: relative; width: 100%; } /* Exact Aspect Ratios */ .desktop-slider .slide { aspect-ratio: 1920 / 640; } .mobile-slider .slide { aspect-ratio: 1 / 1; } .slide img { width: 100%; height: 100%; object-fit: cover; display: block; } /* Navigation Arrows */ .slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.8); color: #1f2937; border: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: background 0.2s; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .slider-btn:hover { background: rgba(255, 255, 255, 1); } .slider-btn svg { width: 1.25rem; height: 1.25rem; } .slider-btn.prev { left: 1rem; } .slider-btn.next { right: 1rem; } /* Pagination Dots */ .slider-dots { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.5rem; z-index: 10; } .slider-dot { width: 0.625rem; height: 0.625rem; border-radius: 50%; background: rgba(255, 255, 255, 0.4); border: none; cursor: pointer; transition: all 0.2s ease-in-out; } .slider-dot.active { background: rgba(255, 255, 255, 1); transform: scale(1.2); }