/* =============================================
   RMF Slider - Main Styles
   Version: 1.6.0 (Responsive Update)
============================================= */

.rmf-slider-wrapper {
    width: 100%;
    min-height: 100vh;  
    position: relative;
    overflow: hidden;
    background: #000;
}

.rmf-hero-slider, .swiper-slide {
    width: 100%;
    height: 100vh; /* Changed to vh to ensure full-screen consistency */
}

.swiper-slide {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rmf-overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rmf-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 1100px; /* Increased for ultra-wide screens */
    padding: 20px;
    margin: 0 auto;
}

/* --- Layer Styles --- */

.rmf-layer {
    opacity: 0; /* Handled by GSAP */
    width: 100%;
}

.rmf-layer.title {
    /* Responsive font: Min 2rem, Scales with width, Max 5rem */
    font-size: clamp(2rem, 8vw, 5rem); 
    margin-bottom: 210px; /* Reduced fixed margin (200px was too large) */
    line-height: 1.1;
    font-weight: 600;
    text-transform: uppercase;
}

.rmf-layer.caption {
    font-size: clamp(0.9rem, 2.5vw, 1.4rem);
    margin-bottom: 50px;
    font-weight: 300;
    max-width: 600px; /* Keeps text readable on wide screens */
}

.rmf-btn {
    display: inline-block;
    padding: clamp(12px, 2vw, 18px) clamp(30px, 4vw, 50px);
    background: #ffffff;
    color: #000000;
    text-decoration: none;
    font-weight: bold;
    border-radius: 50px;
    transition: all 0.3s ease;
    font-size: clamp(0.85rem, 1.5vw, 1rem);
	width: 350px;
  height: 60px;
}

.rmf-btn:hover {
    transform: scale(1.05);
    background: #f0f0f0;
}

/* --- Swiper Navigation --- */

.swiper-button-next, .swiper-button-prev { 
    color: #fff !important; 
    transition: opacity 0.3s ease;
}

.swiper-pagination-bullet-active { background: #fff !important; }

.swiper-button-next { right: 40px; }
.swiper-button-prev { left: 40px; }

/* =============================================
   RESPONSIVE MEDIA QUERIES
============================================= */

/* Tablet Devices (Max 1024px) */
@media (max-width: 1024px) {
    .swiper-button-next { right: 20px; }
    .swiper-button-prev { left: 20px; }
}

/* Mobile Devices (Max 768px) */
@media (max-width: 768px) {
    .rmf-content {
        padding: 15px;
    }
    
    /* Hide navigation arrows on small mobile to save space, rely on touch swipe */
    .swiper-button-next, 
    .swiper-button-prev {
        display: none !important; 
    }
    
    .rmf-layer.title {
        margin-bottom: 150px;
    }
	  .rmf-layer.caption {
        font-size: 0.9rem;
        margin-bottom: 100px;
    }
}

/* Small Mobile & Foldables (Max 480px) */
@media (max-width: 480px) {
    .rmf-layer.title {
        font-size: clamp(1.8rem, 10vw, 2.5rem);
		margin-bottom: 200px;
    }
    
    .rmf-layer.caption {
        font-size: 0.9rem;
        margin-bottom: 100px;
    }

    .rmf-btn {
        width: 80%; /* Makes button easier to tap on tiny screens */
        padding: 15px 20px;
    }
}

/* Landscape Mode for Mobile (Fixes height issues) */
@media (max-height: 500px) and (orientation: landscape) {
    .rmf-layer.title { font-size: 1.5rem; margin-bottom: 10px; }
    .rmf-layer.caption { font-size: 0.8rem; margin-bottom: 10px; }
    .rmf-btn { padding: 8px 20px; }
}
