
/* ==========================================
   MOSTPLAY PARTNERS — HOMEPAGE HERO
   Desktop + Tablet + Mobile
========================================== */

.mostplay-hero {
    --mostplay-hero-desktop-bg: none;
    --mostplay-hero-mobile-bg: none;

    position: relative;
    width: 100%;
    min-height: 620px;
    overflow: hidden;
    background-color: #073d9c;
    background-image: var(--mostplay-hero-desktop-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #ffffff;
    isolation: isolate;
}

.mostplay-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(0, 19, 75, 0.72) 0%,
        rgba(0, 35, 108, 0.35) 58%,
        rgba(0, 36, 114, 0.12) 100%
    );
}

.mostplay-hero,
.mostplay-hero * {
    box-sizing: border-box;
}

/* Main layout */

.mostplay-hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 35px;
    width: min(100% - 40px, 1200px);
    min-height: 620px;
    margin: 0 auto;
    padding: 65px 0;
}

/* Left text column */

.mostplay-hero-content {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.mostplay-hero-title {
    margin: 0 0 16px;
    color: #ffffff;
    font-size: clamp(32px, 3.4vw, 52px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -1.5px;
    text-transform: uppercase;
}

.mostplay-hero-title-first,
.mostplay-hero-title-highlight {
    display: block;
}

.mostplay-hero-title-highlight {
    color: #ffdb00;
}

.mostplay-hero-subheading {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.35;
}

/* Gold ribbon */

.mostplay-hero-ribbon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 480px);
    min-height: 78px;
    margin: 0 0 20px;
}

.mostplay-hero-ribbon-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.mostplay-hero-ribbon-text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 76%;
    transform: translate(-50%, -50%);
    color: #092866;
    font-size: clamp(11px, 1.05vw, 15px);
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    pointer-events: none;
}

/* Description */

.mostplay-hero-description {
    max-width: 480px;
    margin: 0 0 26px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.65;
}

/* CTA button */

.mostplay-hero-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 235px;
    min-height: 58px;
    max-width: 100%;
    padding: 15px 30px;
    overflow: hidden;
    border-radius: 12px;
    background: #ffdc00;
    color: #08265d;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.mostplay-hero-button:hover {
    color: #08265d;
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.mostplay-hero-button:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
}

.mostplay-hero-button-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.mostplay-hero-button-text {
    position: relative;
    z-index: 1;
}

/* Bottom text */

.mostplay-hero-bottom-text {
    margin: 18px 0 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.5;
}

/* Right commission artwork */

.mostplay-hero-artwork {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.mostplay-hero-commission-image {
    display: block;
    width: 100%;
    max-width: 590px;
    height: auto;
    object-fit: contain;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 991px) {

    .mostplay-hero {
        min-height: 540px;
    }

    .mostplay-hero-inner {
        min-height: 540px;
        gap: 20px;
        padding: 50px 0;
    }

    .mostplay-hero-title {
        font-size: clamp(32px, 4.5vw, 46px);
    }

    .mostplay-hero-subheading {
        font-size: 20px;
    }

    .mostplay-hero-description {
        font-size: 16px;
    }

    .mostplay-hero-ribbon {
        min-height: 55px;
    }
}

/* ==========================================
   MOBILE
   Commission artwork appears first
========================================== */

@media (max-width: 767px) {

    .mostplay-hero {
        min-height: auto;
        background-image: var(--mostplay-hero-mobile-bg);
        background-position: center top;
        background-size: cover;
    }

    .mostplay-hero::before {
        background: linear-gradient(
            180deg,
            rgba(0, 28, 91, 0.12) 0%,
            rgba(0, 26, 87, 0.48) 50%,
            rgba(0, 18, 72, 0.8) 100%
        );
    }

    .mostplay-hero-inner {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: min(100% - 32px, 480px);
        min-height: auto;
        padding: 35px 0 50px;
    }

    /* Artwork is visually first, without changing PHP */

    .mostplay-hero-artwork {
        order: -1;
        width: 100%;
    }

    .mostplay-hero-commission-image {
        width: 100%;
        max-width: 420px;
        max-height: 340px;
        object-fit: contain;
    }

    .mostplay-hero-content {
        width: 100%;
        text-align: center;
    }

    .mostplay-hero-title {
        margin-bottom: 12px;
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.12;
        letter-spacing: -0.7px;
    }

    .mostplay-hero-subheading {
        margin-bottom: 18px;
        font-size: 19px;
    }

    .mostplay-hero-ribbon {
        width: min(100%, 380px);
        min-height: 55px;
        margin: 0 auto 18px;
    }

    .mostplay-hero-ribbon-text {
        font-size: clamp(10px, 2.8vw, 13px);
    }

    .mostplay-hero-description {
        max-width: 380px;
        margin: 0 auto 22px;
        font-size: 16px;
        line-height: 1.6;
    }

    .mostplay-hero-button {
        min-width: 230px;
        min-height: 55px;
        font-size: 16px;
    }

    .mostplay-hero-bottom-text {
        margin-top: 16px;
        font-size: 14px;
    }
}

/* Small mobile screens */

@media (max-width: 380px) {

    .mostplay-hero-inner {
        width: calc(100% - 24px);
        padding-top: 25px;
    }

    .mostplay-hero-title {
        font-size: 29px;
    }

    .mostplay-hero-commission-image {
        max-height: 270px;
    }

    .mostplay-hero-ribbon-text {
        font-size: 10px;
    }
}



/* Keep TURN REFERRALS on one line on desktop */
@media (min-width: 992px) {
    .mostplay-hero-title-first {
        white-space: nowrap;
    }

    .mostplay-hero-title {
        font-size: clamp(30px, 3.2vw, 48px);
        letter-spacing: -1px;
    }
}


/* ==========================================
   DESKTOP HERO — REFERENCE ALIGNMENT
========================================== */

@media (min-width: 992px) {

    /* Align the hero content vertically */
    .mostplay-hero-inner {
        min-height: 620px;
        align-items: center;
    }

    /* Move left content slightly downward */
    .mostplay-hero-content {
        transform: translateY(22px);
    }

    /* Make ribbon wider */
    .mostplay-hero-ribbon {
        width: 100%;
        max-width: 510px;
        min-height: 85px;
        margin-bottom: 22px;
    }

    /* Keep ribbon text on one line */
    .mostplay-hero-ribbon-text {
        width: 94%;
        white-space: nowrap;
        font-size: clamp(10px, 0.85vw, 13px);
        font-weight: 800;
        line-height: 1;
    }

    /* Position commission artwork near stadium floor */
    .mostplay-hero-artwork {
        align-self: end;
        transform: translateY(25px);
    }

    .mostplay-hero-commission-image {
        width: 100%;
        max-width: 620px;
        height: auto;
    }
}



/* ==========================================
   DESKTOP — CENTER LEFT HERO CONTENT
========================================== */

@media (min-width: 992px) {

    .mostplay-hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
        transform: translateY(22px);
    }

    .mostplay-hero-title {
        width: 100%;
        text-align: center;
    }

    .mostplay-hero-subheading {
        text-align: center;
    }

    .mostplay-hero-ribbon {
        margin-left: auto;
        margin-right: auto;
    }

    .mostplay-hero-description {
        text-align: center;
    }

    .mostplay-hero-button {
        align-self: center;
    }

    .mostplay-hero-bottom-text {
        text-align: center;
    }
}


/* Move 50% commission artwork closer to the stadium floor */
@media (min-width: 992px) {
    .mostplay-hero-artwork {
        transform: translateY(50px);
    }
}


/* Reduce empty space at the top of the desktop hero */
@media (min-width: 992px) {
    .mostplay-hero {
        padding-top: 0;
        padding-bottom: 0;
    }

    .mostplay-hero-inner {
        min-height: 580px;
    }
}


/* ==========================================
   MOSTPLAY PARTNERS — MOBILE HERO
   ========================================== */

@media (max-width: 767px) {

    .mostplay-hero {
        width: 100%;
        min-height: auto;
        height: auto;
        padding: 20px 15px 38px;
        overflow: hidden;
        box-sizing: border-box;

        background-image: var(--mostplay-hero-mobile-bg);
        background-color: #001b55;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    .mostplay-hero-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 0;

        width: 100%;
        max-width: 100%;
        min-height: 0;
        height: auto;
        margin: 0 auto;
        padding: 0;
    }

    /* Commission artwork appears FIRST */
    .mostplay-hero-artwork {
        order: 1;
        display: flex;
        align-items: center;
        justify-content: center;

        position: relative;
        inset: auto;
        width: 100%;
        max-width: 390px;
        height: auto;
        margin: 0 auto 12px;
        padding: 0;

        transform: none;
    }

    .mostplay-hero-commission-image {
        display: block;
        position: static;
        width: 100%;
        max-width: 350px;
        height: auto;
        max-height: none;
        object-fit: contain;
        margin: 0 auto;
        transform: none;
    }

    /* Text content appears SECOND */
    .mostplay-hero-content {
        order: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        position: relative;
        width: 100%;
        max-width: 440px;
        min-width: 0;
        margin: 0 auto;
        padding: 0;

        text-align: center;
        transform: none;
    }

    /* Main heading */
    .mostplay-hero-title {
        width: 100%;
        margin: 0 0 10px;
        padding: 0;

        font-size: clamp(24px, 7vw, 34px);
        line-height: 1.12;
        font-weight: 900;
        text-align: center;
        letter-spacing: -0.5px;
    }

    .mostplay-hero-title-first,
    .mostplay-hero-title-highlight {
        display: block;
        white-space: nowrap;
    }

    .mostplay-hero-title-first {
        color: #ffffff;
    }

    .mostplay-hero-title-highlight {
        color: #ffdb00;
    }

    /* Subheading */
    .mostplay-hero-subheading {
        margin: 0 0 18px;
        font-size: clamp(16px, 4.5vw, 20px);
        line-height: 1.35;
        font-weight: 700;
        color: #ffffff;
        text-align: center;
    }

    /* Gold ribbon */
    .mostplay-hero-ribbon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        max-width: 360px;
        min-height: 55px;
        margin: 0 auto 15px;
        padding: 0;
    }

    .mostplay-hero-ribbon-image {
        display: block;
        position: relative;
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .mostplay-hero-ribbon-text {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 82%;
        padding: 0;

        transform: translate(-50%, -50%);

        color: #00134e;
        font-size: clamp(9px, 2.5vw, 12px);
        line-height: 1.2;
        font-weight: 900;
        text-align: center;
        white-space: nowrap;
    }

    /* Description */
    .mostplay-hero-description {
        width: 100%;
        margin: 0 0 20px;

        color: #ffffff;
        font-size: 14px;
        line-height: 1.5;
        text-align: center;
    }

    /* CTA button */
    .mostplay-hero-button {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 235px;
        max-width: 100%;
        min-height: 55px;
        margin: 0 auto 12px;
        padding: 0;

        text-decoration: none;
        transform: none;
    }

    .mostplay-hero-button-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: fill;
    }

    .mostplay-hero-button-text {
        position: relative;
        z-index: 1;

        color: #00134e;
        font-size: 16px;
        font-weight: 800;
        text-align: center;
    }

    /* Bottom caption */
    .mostplay-hero-bottom-text {
        margin: 0;
        padding: 0;

        color: #ffffff;
        font-size: 12px;
        line-height: 1.5;
        text-align: center;
    }
}

/* Extra-small mobile screens */
@media (max-width: 359px) {

    .mostplay-hero {
        padding-left: 10px;
        padding-right: 10px;
    }

    .mostplay-hero-title {
        font-size: 23px;
    }

    .mostplay-hero-ribbon-text {
        font-size: 8px;
    }

    .mostplay-hero-description {
        font-size: 12px;
    }

    .mostplay-hero-button {
        width: 215px;
    }
}


/* ==========================================
   HERO FIX — DESKTOP + MOBILE
   ========================================== */

/* Ribbon text alignment — ALL screen sizes */
.mostplay-hero .mostplay-hero-ribbon {
    position: relative;
    display: grid;
    place-items: center;
    padding: 0;
}

.mostplay-hero .mostplay-hero-ribbon-image {
    display: block;
    grid-area: 1 / 1;
    width: 100%;
    height: auto;
    margin: 0;
}

.mostplay-hero .mostplay-hero-ribbon-text {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;

    grid-area: 1 / 1;
    z-index: 2;

    display: block;
    width: 76%;
    margin: 0;
    padding: 0;

    transform: none;
    text-align: center;
    line-height: 1.15;
    white-space: nowrap;
    color: #00134e;
    font-weight: 900;
}

/* ==========================================
   MOBILE — 767px and below
   ========================================== */

@media (max-width: 767px) {

    /* Reduce commission artwork proportionally */
    .mostplay-hero .mostplay-hero-artwork {
        width: 100%;
        max-width: 290px;
        height: auto;
        margin: 0 auto 14px;
        padding: 0;
    }

    .mostplay-hero .mostplay-hero-commission-image {
        display: block;
        width: 100%;
        max-width: 290px;
        height: auto;
        max-height: none;
        object-fit: contain;
        margin: 0 auto;
    }

    /* Keep ribbon centered */
    .mostplay-hero .mostplay-hero-ribbon {
        width: 100%;
        max-width: 350px;
        min-height: 0;
        height: auto;
        margin: 0 auto 15px;
    }

    .mostplay-hero .mostplay-hero-ribbon-text {
        width: 76%;
        font-size: clamp(8px, 2.25vw, 11px);
        line-height: 1.15;
    }
}

/* Smaller phones */
@media (max-width: 375px) {

    .mostplay-hero .mostplay-hero-artwork,
    .mostplay-hero .mostplay-hero-commission-image {
        max-width: 265px;
    }

    .mostplay-hero .mostplay-hero-ribbon-text {
        font-size: 8px;
    }
}

/* Very small phones */
@media (max-width: 320px) {

    .mostplay-hero .mostplay-hero-artwork,
    .mostplay-hero .mostplay-hero-commission-image {
        max-width: 235px;
    }

    .mostplay-hero .mostplay-hero-ribbon-text {
        font-size: 7px;
    }
}


/* ==========================================
   RIBBON TEXT — VERTICAL CENTER FIX
   Desktop + Mobile
   ========================================== */

.mostplay-hero .mostplay-hero-ribbon-text {
    position: relative;
    top: -8px;
    transform: none;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1.15;
    z-index: 3;
}

/* Mobile adjustment */
@media (max-width: 767px) {
    .mostplay-hero .mostplay-hero-ribbon-text {
        top: -5px;
    }
}
