/**
 * Hero Slider Pro - Core CSS v1.10
 */
.heropro-slider-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 600px !important;
    overflow: hidden !important;
    background: #000;
    z-index: 5;
    margin: 0;
    padding: 0;
    touch-action: pan-y;
}

.heropro-banner-inner { position: absolute !important; inset: 0 !important; }

.heropro-list { 
    margin: 0 !important; padding: 0 !important; 
    list-style: none !important; 
    width: 100% !important; height: 100% !important;
    display: block !important; position: static !important; 
}

.heropro-item {
    position: absolute !important; inset: 0 !important;
    opacity: 0; visibility: hidden;
    transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
    display: flex !important; align-items: center;
    z-index: 1;
}

.heropro-item.heropro-active { opacity: 1 !important; visibility: visible !important; z-index: 10 !important; }

.heropro-bg-image { 
    width: 100% !important; height: 100% !important; 
    object-fit: cover !important; position: absolute !important; 
    top: 0 !important; left: 0 !important; z-index: 1 !important;
}

.heropro-overlay { 
    position: absolute !important; inset: 0 !important; z-index: 2 !important; 
    transition: opacity 0.5s ease;
}

.heropro-caption { 
    position: relative !important; z-index: 3 !important; 
    width: 100% !important; max-width: 1200px !important; 
    margin: 0 auto !important; padding: 0 40px !important;
    pointer-events: none;
}

.heropro-content { pointer-events: auto; }
.heropro-align-left .heropro-caption { text-align: left; }
.heropro-align-center .heropro-caption { text-align: center; }
.heropro-align-right .heropro-caption { text-align: right; }

.heropro-kicker { 
    display: inline-block; background: #0fabea; color: #fff; 
    padding: 8px 18px; border-radius: 4px; font-weight: 700; 
    text-transform: uppercase; letter-spacing: 1.5px; font-size: 13px; margin-bottom: 24px; 
}

.heropro-title { 
    color: #fff !important; font-size: clamp(1.6rem, 4vw, 3.0rem) !important; 
    font-weight: 800 !important; line-height: 1.2 !important; 
    text-shadow: 2px 2px 4px rgb(0 0 0 / 66%); 
}

.heropro-nav { 
    position: absolute !important; top: 50% !important; width: 100% !important; 
    transform: translateY(-50%) !important; display: flex !important; 
    justify-content: space-between !important; padding: 0 20px !important; 
    z-index: 50 !important; pointer-events: none !important;
}

.heropro-nav button { 
    pointer-events: auto !important; background: rgba(0,0,0,0.5) !important; 
    color: #fff !important; border: none !important; width: 44px; height: 44px; 
    border-radius: 50%; cursor: pointer; transition: all 0.3s ease; font-size: 18px; 
}

.heropro-nav button:hover { background: #2563eb !important; }

.heropro-dots {
    position: absolute !important; bottom: 20px !important; left: 0 !important;
    width: 100% !important; display: flex !important; justify-content: center !important;
    gap: 10px !important; z-index: 50 !important;
}

.heropro-dot {
    width: 10px; height: 10px; background: rgba(255,255,255,0.4);
    border-radius: 50%; border: none; cursor: pointer; transition: all 0.4s ease;
}

.heropro-dot.heropro-active-dot { background: #2563eb; width: 25px; border-radius: 5px; }

@media (max-width: 768px) {
    .heropro-slider-wrapper { height: 420px !important; }
    .heropro-nav { display: none !important; }
    .heropro-title { font-size: 1.5rem !important; }
}