This repository has been archived on 2026-06-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
colors-patch/homepage/templates/first-slider/style.css
T

149 lines
2.5 KiB
CSS

/* 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);
}