/* --- Slider Styles --- */
.promo-slider { width: 100%; margin: 0 auto; max-width: 800px; align-self: flex-start; }
.slider-wrapper { position: relative; width: 100%; height: 360px; min-height: 120px; max-height: 400px; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.07); cursor: grab; user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; }
.slider-wrapper:active { cursor: grabbing; }
.slide { display: none; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all 0.8s ease-in-out; opacity: 0; transform: scale(1.1); }
.slide.active { display: block; z-index: 1; opacity: 1; transform: scale(1); }
.slide img { width: 100%; height: 100%; object-fit: fill; display: block; background: #fff; }
.slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.35); color: #fff; border: none; border-radius: 50%; width: 36px; height: 36px; font-size: 22px; display: flex; align-items: center; justify-content: center; z-index: 2; cursor: pointer; transition: background 0.2s; }
.slider-btn.prev { right: 10px; }
.slider-btn.next { left: 10px; }
.slider-btn:hover { background: rgba(0,0,0,0.55); }
.slider-dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 7px; z-index: 3; }
.slider-dots .dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,0.7); border: 1.5px solid #3B82F6FF; transition: background 0.2s, border 0.2s; display: inline-block; }
.slider-dots .dot.active { background: #3B82F6FF; border-color: #fff; }
@media (max-width: 900px) { .slider-wrapper { height: 220px; border-radius: 10px; } }
@media (max-width: 768px) { .promo-slider { max-width: 600px; } .slider-wrapper { height: calc(50vw); min-height: 90px; max-height: 200px; border-radius: 7px; } } 