/* =========================================================
   YMCA MODERN GLASS HERO OVERLAY
   ========================================================= */


/* =========================================================
   DESKTOP
   1101px and above
   ========================================================= */

.hero-overlay-modern {

    /* Width */
    width: calc(100% - 60px);
    max-width: 850px;

    /* Center the overlay */
    margin: 0 auto;

    /* Spacing */
    padding: 30px 45px 35px;

    /* -----------------------------------------------------
       MODERN GLASS EFFECT
       ----------------------------------------------------- */

    /* Transparent dark glass */
    background: rgba(20, 35, 50, 0.45);

    /* Frosted glass */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    /* Subtle glass border */
    border: 1px solid rgba(255, 255, 255, 0.45);

    /* Rounded corners */
    border-radius: 14px;

    /* Soft shadow */
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.20);

    /* Text alignment */
    text-align: center;

    /* Text color */
    color: #ffffff;

    /* Make sure the box doesn't get too wide */
    box-sizing: border-box;
}


/* =========================================================
   HEADING
   ========================================================= */

.hero-overlay-modern h2 {

    margin: 0 0 15px;

    font-size: 38px;
    line-height: 1.2;

    font-weight: 700;

    letter-spacing: 0.5px;

    color: #ffffff;
}


/* =========================================================
   BLUE ACCENT LINE
   ========================================================= */

.hero-overlay-modern h2::after {

    content: "";

    display: block;

    width: 90px;
    height: 3px;

    margin: 12px auto 0;

    background: #0089d0;

    border-radius: 3px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.hero-description {

    max-width: 720px;

    margin: 0 auto 25px;

    font-size: 18px;

    line-height: 1.6;

    font-weight: 400;

    color: #ffffff;
}


/* =========================================================
   RESPONSIVE TEXT
   ========================================================= */

/* Desktop text */
.hero-text-desktop {
    display: inline;
}

/* Hide tablet and phone text */
.hero-text-tablet,
.hero-text-phone {
    display: none;
}


/* =========================================================
   BUTTON CONTAINER
   ========================================================= */

.hero-buttons {

    display: flex;

    justify-content: center;
    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.hero-buttons .btn {

    min-width: 220px;

    padding: 12px 28px;

    border-radius: 7px;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: 0.3px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* =========================================================
   PRIMARY BUTTON
   ========================================================= */

.hero-buttons .btn-primary {

    background-color: #0089d0;

    border-color: #0089d0;

    color: #ffffff;
}


/* =========================================================
   BUTTON HOVER
   ========================================================= */

.hero-buttons .btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.25);

    text-decoration: none;
}


/* =========================================================
   TABLET
   769px – 1100px
   ========================================================= */

@media (min-width: 769px) and (max-width: 1100px) {


    /* -----------------------------------------------------
       OVERLAY
       ----------------------------------------------------- */

    .hero-overlay-modern {

        width: calc(100% - 80px);

        max-width: 720px;

        padding: 22px 30px 25px;

        /* Slightly more transparent */
        background: rgba(20, 35, 50, 0.40);

        /* Slightly softer blur */
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);

        border-radius: 12px;
    }


    /* -----------------------------------------------------
       HEADING
       ----------------------------------------------------- */

    .hero-overlay-modern h2 {

        font-size: 32px;

        margin-bottom: 10px;
    }


    /* -----------------------------------------------------
       ACCENT LINE
       ----------------------------------------------------- */

    .hero-overlay-modern h2::after {

        width: 70px;

        height: 2px;

        margin-top: 8px;
    }


    /* -----------------------------------------------------
       DESCRIPTION
       ----------------------------------------------------- */

    .hero-description {

        max-width: 600px;

        margin-bottom: 18px;

        font-size: 16px;

        line-height: 1.45;
    }


    /* -----------------------------------------------------
       SHOW TABLET TEXT
       ----------------------------------------------------- */

    .hero-text-desktop,
    .hero-text-phone {

        display: none;
    }

    .hero-text-tablet {

        display: inline;
    }


    /* -----------------------------------------------------
       BUTTONS
       ----------------------------------------------------- */

    .hero-buttons {

        gap: 10px;
    }


    .hero-buttons .btn {

        min-width: 185px;

        padding: 10px 22px;

        font-size: 15px;

        border-radius: 6px;
    }
}


/* =========================================================
   PHONE
   768px and below
   ========================================================= */

@media (max-width: 768px) {


    /* -----------------------------------------------------
       OVERLAY
       ----------------------------------------------------- */

    .hero-overlay-modern {

        /* Leave space around the card */
        width: calc(100% - 30px);

        max-width: none;

        margin: 0 auto;

        /* Compact spacing */
        padding: 18px 18px 20px;

        /* More transparent on phones */
        background: rgba(20, 35, 50, 0.38);

        /* Softer glass effect */
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);

        border-radius: 10px;

        box-shadow:
            0 6px 20px rgba(0, 0, 0, 0.18);
    }


    /* -----------------------------------------------------
       HEADING
       ----------------------------------------------------- */

    .hero-overlay-modern h2 {

        font-size: 26px;

        line-height: 1.2;

        margin: 0 0 8px;
    }


    /* -----------------------------------------------------
       ACCENT LINE
       ----------------------------------------------------- */

    .hero-overlay-modern h2::after {

        width: 60px;

        height: 2px;

        margin-top: 7px;
    }


    /* -----------------------------------------------------
       DESCRIPTION
       ----------------------------------------------------- */

    .hero-description {

        max-width: 100%;

        margin: 0 auto 15px;

        font-size: 14px;

        line-height: 1.4;
    }


    /* -----------------------------------------------------
       SHOW PHONE TEXT
       ----------------------------------------------------- */

    .hero-text-desktop,
    .hero-text-tablet {

        display: none;
    }

    .hero-text-phone {

        display: inline;
    }


    /* -----------------------------------------------------
       BUTTON CONTAINER
       ----------------------------------------------------- */

    .hero-buttons {

        display: flex;

        flex-direction: row;

        justify-content: center;

        gap: 8px;

        flex-wrap: wrap;
    }


    /* -----------------------------------------------------
       BUTTONS
       ----------------------------------------------------- */

    .hero-buttons .btn {

        min-width: 0;

        padding: 9px 15px;

        font-size: 13px;

        border-radius: 6px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   480px and below
   ========================================================= */

@media (max-width: 480px) {

    .hero-overlay-modern {

        width: calc(100% - 20px);

        padding: 15px 14px 17px;
    }


    .hero-overlay-modern h2 {

        font-size: 23px;
    }


    .hero-description {

        font-size: 13px;

        line-height: 1.35;

        margin-bottom: 12px;
    }


    .hero-buttons {

        gap: 6px;
    }


    .hero-buttons .btn {

        padding: 8px 12px;

        font-size: 12px;
    }
}

