/* Specific class for the bold/uppercase hero text */
.hero-text-highlight {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ffffff;
}

/*.hero-title {
    text-shadow: 0px 2px 4px rgba(0,0,0,0.6);
}*/

/* Mobile responsive sizing */
@media (max-width: 767.98px) {
    .hero-title {
        font-size: 2.2rem;
        font-weight: 300;
    }

    /* Updated targeting for mobile letter spacing */
    .hero-title .hero-text-highlight {
        letter-spacing: 0.02em;
    }
}


/* Extra small devices */
@media (max-width: 575.98px) {
    .hero-title {
        font-size: 1.8rem;
    }
}
.content {
    overflow:hidden;
}
.btn-show-all {
    font-size: 1rem;
    margin-top: 0.5rem;
}
.home-footer-register .col-content {
    background: none;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1rem;
    text-transform: initial;
}
.home-footer-register .col-content .btn {
    font-size: 1rem;
    margin-left: 1rem;
}
@media (min-width: 992px) {
    .home-footer-register .col-content {
        font-size: 3rem;
    }
    .home-footer-register .col-content .btn {
        font-size: 2rem;
        margin-left: 2rem;
    }
}
.home-top-slider .col-content {
    background: none;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translate(-20%, -50%);
    font-size: 3rem;
    text-transform: initial;
}
.swiper-button-prev, .swiper-button-next {
    color: #fff;
}
.col-cell .col-header {
    background: none;
}
.section-title {
    font-size: 1.5rem;
    letter-spacing: .0em;
}
.home-top-slider .col-content h1 {
    font-size: 3rem;
}

/* ==========================================================================
   Clean Slider Layout Custom Variables & Responsive Adjustments (No !important)
   ========================================================================== */

/* 1. Base settings: Resolves calculated desktop heights using the template variable */
body .col-slider {
    height: var(--slider-desktop-height, 450px);
}

/* Forces slide background images to cover the container gracefully without repeating */
body .col-slider .swiper-slide {
    background-size: cover;
    background-position: center;
}

/* 2. Responsive Mobile Portrait settings (< 768px) */
@media (max-width: 767.98px) {
    body .col-slider {
        height: 260px; /* Constrains vertical height on portrait phone devices */
    }

    body .home-top-slider .col-content {
        left: 18%;
        transform: translate(-10%, -50%);
        font-size: 1.75rem;
    }

    body .home-top-slider .col-content h1 {
        font-size: 1.75rem;
    }
}

/* 3. Responsive Mobile Landscape settings (< 992px wide, horizontal orientation) */
@media (max-width: 991.98px) and (orientation: landscape) {
    body .col-slider {
        height: 200px; /* Highly optimized height to fit short viewport heights */
    }

    body .home-top-slider .col-content {
        left: 10%;
        transform: translate(-10%, -50%);
        font-size: 1.35rem; /* Rescales typography to fit smaller height bounds */
    }

    body .home-top-slider .col-content h1 {
        font-size: 1.35rem;
    }
}
