/* PO-1927: loaded only by the opt-in Casino Lounge v3.0 layout.
 * Keep legacy layouts on theme.css. Content artwork is not recoloured.
 */
body.casino-lounge.updated-home.casino-lounge-v3 {
    --igt-purple: #B850FD;
    --igt-iced-purple: #BEACFE;
    --igt-gray: #E5E5E5;
    --igt-slate: #292D3D;
    --igt-white: #F7F7F7;
    --igt-sticky-header-background: var(--igt-slate);
    --igt-content-background: var(--igt-gray);
    color: var(--igt-slate);
    background-color: var(--igt-gray);
    background-image: none;
    font-family: Outfit, sans-serif;
    font-weight: 400;
    line-height: 1.5;
}

/* The legacy stylesheet applies an important font family to every element. */
body.casino-lounge-v3,
body.casino-lounge-v3 * {
    font-family: Outfit, sans-serif !important;
}

/* The legacy global-text rule targets every descendant with !important.
 * Preserve its exclusions, but let children inherit explicitly authored colours.
 */
body.casino-lounge-v3.global-text main [style*="color"] *:not(.isb_navbar_container *):not(.mobile-menu-sidebar *):not(.filters-modal *):not(.login-popup *):not(.age-verification-modal *):not(.isb-game-filter-labels__icon):not(.isb-game-filter-labels__icon svg):not([style*="color"]) {
    color: inherit !important;
}

body.casino-lounge-v3 h1 {
    font-weight: 600;
}

body.casino-lounge-v3 h2,
body.casino-lounge-v3 h3,
body.casino-lounge-v3 button,
body.casino-lounge-v3 nav {
    font-weight: 500;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header,
body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer,
body.casino-lounge-v3 .page-loader-wrapper,
body.casino-lounge-v3 .page-loader-wrapper .page-loader__icon {
    background-color: var(--igt-slate);
    color: var(--igt-white);
}

/* Keep overlay copy legible while game artwork loads or is unavailable. */
body.casino-lounge.updated-home.casino-lounge-v3 .gameBlock-container,
body.casino-lounge.updated-home.casino-lounge-v3 .login-modal .modal-content,
body.casino-lounge.updated-home.casino-lounge-v3 .login-popup {
    background-color: var(--igt-slate);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup h2,
body.casino-lounge.updated-home.casino-lounge-v3 .login-popup label {
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .link {
    color: var(--igt-iced-purple);
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-logo {
    width: var(--igt-logo-width);
    min-width: 60px;
    height: auto;
    padding: var(--igt-logo-clear-space);
    box-sizing: content-box;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__card {
    background-color: var(--igt-white);
}

/* Grid columns determine the width; the artwork determines its height.
 * Legacy viewport-based heights distort thumbnails when the column count changes. */
body.casino-lounge.updated-home.casino-lounge-v3 .demo-lobby-block-wrapper .isb-game-grid .isb-game__icon {
    display: block;
    height: auto;
    min-height: 0;
    max-height: none;
}

/* Catalogue surfaces use the v3 neutral palette; game artwork stays intact. */
body.casino-lounge.updated-home.casino-lounge-v3 .dynamicListBlock-container .block-bg-wrapper {
    background-color: var(--igt-content-background);
}

body.casino-lounge.updated-home.casino-lounge-v3 .gameBlock-container .isb-hero__content-copy-header {
    font-size: clamp(28px, 4vw, 60px);
    line-height: 1.2;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-button--secondary {
    border-color: var(--igt-purple);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb_navbar_container .isb-navbar .uk-navbar-nav li.uk-active > a,
body.casino-lounge.updated-home.casino-lounge-v3 .isb_navbar_container .isb-navbar .uk-navbar-nav li > a:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb_navbar_container .isb-navbar .uk-navbar-nav li > a:active,
body.casino-lounge.updated-home.casino-lounge-v3 .isb_navbar_container .isb-navbar .uk-navbar-nav li.uk-active > a span {
    color: var(--igt-iced-purple);
}

/* White/Purple is 3.50:1. A 24px label meets AA's large-text threshold
 * while preserving the ticket's Purple background and Outfit Medium weight.
 */
body.casino-lounge.updated-home.casino-lounge-v3 .isb-button--primary,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__button,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-cta-button,
body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form .btn,
body.casino-lounge.updated-home.casino-lounge-v3 .competition-button,
body.casino-lounge.updated-home.casino-lounge-v3 .button-page-block .isb-button,
body.casino-lounge.updated-home.casino-lounge-v3 .integration-lobby-block .launch-btn,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-modal-filter .modal-button,
body.casino-lounge.updated-home.casino-lounge-v3 .dlb-download,
body.casino-lounge.updated-home.casino-lounge-v3 .infinite-loading .load-more {
    --igt-button-normal-background: var(--igt-purple);
    --igt-button-normal-text: var(--igt-white);
    --igt-button-normal-border: var(--igt-purple);
    --igt-button-hover-background: var(--igt-iced-purple);
    --igt-button-hover-text: var(--igt-slate);
    --igt-button-hover-border: var(--igt-iced-purple);
    background-color: var(--igt-purple);
    border-color: var(--igt-purple);
    color: var(--igt-white);
    font-weight: 500;
    font-size: 24px !important;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: normal;
    border-style: solid;
    border-width: 2px;
}

/* Content CTA spacing must not resize the header's square icon buttons. */
body.casino-lounge.updated-home.casino-lounge-v3 main .isb-button--primary {
    min-width: 0;
    max-width: 100%;
    min-height: 52px;
    height: auto;
    line-height: 1.2;
    white-space: normal;
    padding: 10px 16px;
}

/* Override the deeper legacy hero selectors, including their mobile variants.
 * Labels determine the button width; a row wraps before a label is squeezed.
 */
body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .isb-hero__content-copy .buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    height: auto;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .buttons .uk-button {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 52px;
    padding: 10px 16px;
    line-height: 1.2;
    border-radius: 6px;
    box-sizing: border-box;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .isb-hero__content-copy {
        width: 100%;
        min-width: 0;
        height: auto;
        padding-bottom: 32px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .isb-hero__content-copy-body {
        width: 100%;
        min-width: 0;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .isb-hero__content-copy .buttons {
        align-items: center;
        justify-content: center;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .isb-hero .isb-container .buttons .uk-button {
        width: min(100%, 280px);
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .footer-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .menus-wrapper {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
        width: 100%;
        margin: 0;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .menus-wrapper ul {
        /* Legacy mobile width is important and is relative to a flex row. */
        width: 100% !important;
        min-width: 0;
        margin: 0;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .menus-wrapper li,
    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .menus-wrapper a {
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        overflow-wrap: anywhere;
        line-height: 1.5;
        font-size: 14px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .menus-wrapper li:first-child {
        font-size: 18px;
        font-weight: 500;
    }
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-button--primary:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-cta-button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form .btn:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .competition-button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .button-page-block .isb-button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .integration-lobby-block .launch-btn:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-modal-filter .modal-button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .dlb-download:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .infinite-loading .load-more:hover {
    background-color: var(--igt-iced-purple);
    border-color: var(--igt-iced-purple);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-button--primary.isb-hero__button--outlined,
body.casino-lounge.updated-home.casino-lounge-v3 main .isb-button--secondary,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-cta-button--secondary,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__button--secondary {
    --igt-button-normal-background: var(--igt-white);
    --igt-button-normal-text: var(--igt-slate);
    --igt-button-normal-border: var(--igt-purple);
    background-color: var(--igt-white);
    border-color: var(--igt-purple);
    color: var(--igt-slate);
    font-size: 16px !important;
}

body.casino-lounge-v3 a:focus-visible,
body.casino-lounge-v3 button:focus-visible,
body.casino-lounge-v3 input:focus-visible,
body.casino-lounge-v3 select:focus-visible {
    outline: 2px solid var(--igt-slate);
    outline-offset: 3px;
}

body.casino-lounge-v3 .isb-header :focus-visible,
body.casino-lounge-v3 .updated-footer :focus-visible {
    outline-color: var(--igt-white);
}

/* Light content surfaces; preserve text layered over banner/game artwork. */
body.casino-lounge.updated-home.casino-lounge-v3 .text-block,
body.casino-lounge.updated-home.casino-lounge-v3 .feature-title,
body.casino-lounge.updated-home.casino-lounge-v3 .common-title,
body.casino-lounge.updated-home.casino-lounge-v3 .common-title .title,
body.casino-lounge.updated-home.casino-lounge-v3 .common-title .title span,
body.casino-lounge.updated-home.casino-lounge-v3 .news-header .signatures > .description,
body.casino-lounge.updated-home.casino-lounge-v3 .news-header .signatures > .common-title .title,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game-filter h3 {
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .text-block :is(h1, h2, h3, h4, h5, h6),
body.casino-lounge.updated-home.casino-lounge-v3 .feature-title,
body.casino-lounge.updated-home.casino-lounge-v3 .common-title .title {
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.3;
}

body.casino-lounge.updated-home.casino-lounge-v3 .text-block {
    line-height: 1.5;
}

body.casino-lounge.updated-home.casino-lounge-v3 .text-block a,
body.casino-lounge.updated-home.casino-lounge-v3 .common-title .see-all {
    color: var(--igt-slate);
    text-decoration: underline;
    text-decoration-color: var(--igt-purple);
    text-decoration-thickness: 2px;
    text-underline-offset: .2em;
}

body.casino-lounge.updated-home.casino-lounge-v3 .news-card .news-card__info {
    background-color: var(--igt-white);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .slider-switcher .options-list .uk-active .option {
    border-color: var(--igt-purple);
    box-shadow: none;
}

body.casino-lounge.updated-home.casino-lounge-v3 .lSSlideOuter .lSPager.lSpg > li a,
body.casino-lounge.updated-home.casino-lounge-v3 .lSSlideOuter .lSPager.lSpg > li.active a,
body.casino-lounge.updated-home.casino-lounge-v3 .lSSlideOuter .lSPager.lSpg > li:hover a,
body.casino-lounge-v3 .page-loader__spinner .progress-bar {
    background: var(--igt-purple);
}

body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .uk-navbar-dropdown {
    background-color: var(--igt-slate);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu a,
body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer a {
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu a.uk-active,
body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu .sidebar-submenu .sidebar-submenu__item.uk-active a,
body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu a:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer a:hover {
    color: var(--igt-iced-purple);
}

/* The supplied 3302 x 1555 logo has no built-in clear space.
 * Half its height is 0.236 of its width (brand guide, p.20).
 */
body.casino-lounge-v3 {
    --igt-logo-width: clamp(60px, 7vw, 120px);
    --igt-logo-clear-space: calc(var(--igt-logo-width) * .236);
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-logo-container,
body.casino-lounge.updated-home.casino-lounge-v3 .sidebar-logo,
body.casino-lounge.updated-home.casino-lounge-v3 .footer-info .logo-wrapper,
body.casino-lounge.updated-home.casino-lounge-v3 .page-loader__icon {
    display: inline-flex;
    padding: var(--igt-logo-clear-space);
    flex-shrink: 0;
    box-sizing: content-box;
}

/* Clear space is an exclusion zone for other elements, and the header bar has nothing
 * above or below the logo, so keep it horizontal there: the vertical padding alone
 * made the bar 119px against 66px in v2.1 at 1440px (PO-1927 review follow-up). */
body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-logo-container {
    padding-top: 0;
    padding-bottom: 0;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-logo,
body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-logo img,
body.casino-lounge.updated-home.casino-lounge-v3 .updated-footer .isb-logo-footer,
body.casino-lounge.updated-home.casino-lounge-v3 .page-loader__icon img {
    width: var(--igt-logo-width) !important;
    min-width: 60px;
    height: auto;
    margin: 0;
    object-fit: contain;
    align-self: center;
    aspect-ratio: 3302 / 1555;
}

/* Functional icons stay White on Slate/Purple (brand guide, p.43).
 * Do not apply text-button hover fills or padding to these controls. */
body.casino-lounge.updated-home.casino-lounge-v3 .isb-header :is(.login-btn, .markets-button, .isb-download-summary) {
    width: clamp(44px, 2.5vw, 48px);
    height: clamp(44px, 2.5vw, 48px);
    min-width: clamp(44px, 2.5vw, 48px);
    min-height: clamp(44px, 2.5vw, 48px);
    padding: 0;
    box-sizing: border-box;
    flex-shrink: 0;
    border-radius: 6px;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-download-summary {
    position: relative;
    border-radius: 50%;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-download-summary__file-count {
    position: absolute;
    right: -5px;
    top: -5px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    box-sizing: border-box;
    border-radius: 8px;
    background: var(--igt-slate);
    color: var(--igt-white);
    font-size: 10px;
    line-height: 16px;
    text-align: center;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .login-btn:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .markets-button:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-download-summary {
    background: var(--igt-purple);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-download-summary {
    background: var(--igt-slate);
    border: 2px solid var(--igt-purple);
    box-sizing: border-box;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-header .isb-button__icon,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-download-summary img,
body.casino-lounge.updated-home.casino-lounge-v3 .login-modal .close-modal img,
body.casino-lounge.updated-home.casino-lounge-v3 .game-view-buttons img,
body.casino-lounge.updated-home.casino-lounge-v3 .igt-market-selector .region-checkbox {
    filter: brightness(0) saturate(100%) invert(97%);
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-modal .close-modal {
    background: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form input {
    background: var(--igt-white);
    color: var(--igt-slate);
    min-height: 44px;
    font-size: 16px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form .form-group::before {
    bottom: 14px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form label {
    font-size: 14px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game .isb-game__button {
    font-weight: 500;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup input::placeholder {
    color: var(--igt-slate);
    opacity: 1;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup .login-form .btn {
    min-height: 52px;
    height: auto;
    padding: .65em 1em;
    line-height: 1.2;
    font-size: 24px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup :is(h2, label, .link) {
    font-size: max(14px, 1em);
    line-height: 1.3;
}

/* Maintain contrast on each surface, including keyboard focus. */
body.casino-lounge.updated-home.casino-lounge-v3 :is(.gameBlock-container, .login-modal, .mobile-menu-sidebar, .igt-dropdown) :focus-visible {
    outline: 2px solid var(--igt-white);
    outline-offset: 3px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .login-popup input:focus-visible {
    outline: 2px solid var(--igt-iced-purple);
    outline-offset: 3px;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.common-title .isb-game-grid__roadmap-month, .feature-title, .news-card__info, .news-card__title, .news-card__description) {
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.common-title .isb-game-grid__roadmap-month, .feature-title, .login-popup h2) {
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.3;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.isb-hero__content-copy-header, .text-block h1) {
    font-weight: 600;
    text-shadow: none;
}

body.casino-lounge.updated-home.casino-lounge-v3 .game-release-date {
    background: var(--igt-slate);
    color: var(--igt-white);
    font-size: clamp(12px, 1.09375vw, 21px);
    line-height: 1.2;
    min-height: 28px;
    height: auto;
    padding: 4px 12px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game-grid .uk-grid::-webkit-scrollbar-thumb,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game-grid .uk-grid::-webkit-scrollbar-thumb:hover,
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game-grid .uk-grid::-webkit-scrollbar-thumb:active,
body.casino-lounge.updated-home.casino-lounge-v3 :is(.stripe, .stripe-loaded),
body.casino-lounge.updated-home.casino-lounge-v3 .slider-switcher .options-list .uk-active .option {
    background: var(--igt-purple);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown {
    background: var(--igt-slate);
    color: var(--igt-white);
}

/* Sort/filter dropdown rows: the legacy list is a black translucent panel with an
 * orange active row (PO-1927 review, item 2). Active = Purple/White, hover = Iced
 * Purple/Slate, the same pairing the v3 buttons use. */
body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul {
    background: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul li a {
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul li:hover {
    background: var(--igt-iced-purple);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul li:hover a {
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul li.uk-active {
    background: var(--igt-purple);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-dropdown ul li.uk-active a {
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .igt-market-selector .region-grid .region.uk-active span,
body.casino-lounge.updated-home.casino-lounge-v3 .igt-market-selector .reset-btn,
body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu li.uk-open > .uk-accordion-title,
body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu .uk-accordion-title.uk-active {
    color: var(--igt-iced-purple);
}

body.casino-lounge.updated-home.casino-lounge-v3 .mobile-menu-sidebar .sidebar-menu li.uk-open > .uk-accordion-title .arrow {
    border-color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .news-card__read-more {
    color: var(--igt-slate);
    text-decoration: underline;
    text-decoration-color: var(--igt-purple);
}

/* Text controls can wrap; icon-only header controls retain their own geometry. */
body.casino-lounge.updated-home.casino-lounge-v3 :is(.isb-game__button, .isb-cta-button, .competition-button, .button-page-block .isb-button, .launch-btn, .modal-button, .dlb-download, .load-more) {
    /* Preserve the component's responsive desktop/mobile visibility. */
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    min-height: 52px;
    height: auto;
    padding: 10px 12px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: none;
}

/* Brand defaults: explicit inline and ID-based CMS styles take precedence. */
body.casino-lounge.updated-home.casino-lounge-v3 :is(.wysiwygBlock-container, .buttonBlock-container, .clienthubButtonBlock-container, .prettyLinksBlock-container, .filesBlock-container, .mediaFolderBlock-container) {
    background-color: var(--igt-content-background);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.text-block, .pretty-links-wrapper .signatures, .lobby-downloads-block, .integration-lobby-block) :is(h1, h2, h3, h4, p, span, a) {
    color: var(--igt-slate);
    text-shadow: none;
    letter-spacing: normal;
}

body.casino-lounge.updated-home.casino-lounge-v3 .text-block :is(p, li) {
    font-weight: 400;
    line-height: 1.5;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.simple-banner, .featuresBlock-container, .videoBlock-container) {
    background-color: var(--igt-content-background);
}

/* The banner CTA still came out orange: the legacy
 * `.casino-lounge.updated-home .simple-banner .isb-container .signatures .buttons .isb-button`
 * out-ranks the v3 button rules. Same Purple/Iced Purple pairing as every other CTA. */
body.casino-lounge.updated-home.casino-lounge-v3 .simple-banner .signatures .buttons .isb-button {
    background-color: var(--igt-purple);
    border-color: var(--igt-purple);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .simple-banner .signatures .buttons .isb-button:hover {
    background-color: var(--igt-iced-purple);
    border-color: var(--igt-iced-purple);
    color: var(--igt-slate);
}

/* Solid copy panels guarantee contrast independently of uploaded hero artwork.
 * Banner blocks are deliberately left out: their copy is authored for the v2.1
 * transparent panel (white text over the artwork), so a solid panel either hid
 * the text or showed an empty white box (PO-1927 review, item 1). */
body.casino-lounge.updated-home.casino-lounge-v3 .feature .signatures {
    background: var(--igt-white);
    color: var(--igt-slate);
    padding: clamp(16px, 2vw, 32px);
    box-sizing: border-box;
}

body.casino-lounge.updated-home.casino-lounge-v3 .feature .signatures :is(.title, .title span, .description, .description p) {
    color: var(--igt-slate);
    text-transform: none;
    letter-spacing: normal;
    text-shadow: none;
    line-height: 1.3;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.simple-banner .title, .feature .title, .pretty-links-wrapper h2, .lobby-downloads-block h2, .integration-lobby-block h2) {
    font-weight: 500;
}

body.casino-lounge.updated-home.casino-lounge-v3 .pretty-links-wrapper :is(.slider-controls, .carousel-item) {
    --elementsColor: var(--igt-purple);
}

body.casino-lounge.updated-home.casino-lounge-v3 .pretty-links-wrapper .carousel-item span {
    background: var(--igt-slate);
    color: var(--igt-white);
    padding: .25em .5em;
}

body.casino-lounge.updated-home.casino-lounge-v3 .pretty-links-wrapper .slider-arrow svg {
    fill: var(--elementsColor, var(--igt-slate));
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-video-player__controls {
    background: var(--igt-slate);
    color: var(--igt-white);
}

body.casino-lounge.updated-home.casino-lounge-v3 .integration-lobby-block :is(.isb-gap-launcher, .cselect .menu) {
    background: var(--igt-white);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .integration-lobby-block .cselect .menu li :is(a:hover, a:focus),
body.casino-lounge.updated-home.casino-lounge-v3 .integration-lobby-block .cselect .menu li.active a {
    background: var(--igt-iced-purple);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .text-block * {
    color: inherit;
    text-shadow: none !important;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.accordion-switcher, .slider-switcher) .options-list .option {
    background: var(--igt-white);
    color: var(--igt-slate);
    box-shadow: none;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.accordion-switcher, .slider-switcher) .options-list .uk-active .option {
    background: var(--igt-iced-purple);
    color: var(--igt-slate);
    border-color: var(--igt-slate);
    box-shadow: none;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.accordion-switcher, .slider-switcher) .option span {
    color: inherit;
    font-weight: 500;
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.media-folder-block, .image-page-block, .leaderboard-wrapper, .video-block, .list-title-wrapper) {
    background-color: var(--igt-content-background);
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 :is(.media-folder-block h2, .image-page-block h2, .games-list-title, .leaderboard-toolbar .title, .media-folder-block .dlb-file-title) {
    color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .leaderboard-table,
body.casino-lounge.updated-home.casino-lounge-v3 .leaderboard-table :is(th, td, tr) {
    background: var(--igt-white);
    color: var(--igt-slate);
    border-color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .leaderboard-table th {
    background: var(--igt-iced-purple);
    font-weight: 500;
}

/* Demo lobby search. The legacy rules
 * `.general-lobby .general-filters .filters-list .title-filter .text-input` (black
 * field, dark border) and `... .text-input input` (white text) out-rank a bare
 * `.scope-search-filter` selector, which left a black pill with white text beside
 * the white secondary buttons on the v3 Gray page. Give the field the secondary
 * button treatment instead (PO-1927 review, item 2). */
body.casino-lounge.updated-home.casino-lounge-v3 .general-filters .title-filter .text-input {
    background-color: var(--igt-white);
    border-color: var(--igt-purple);
    min-height: 52px;
    box-sizing: border-box;
}

body.casino-lounge.updated-home.casino-lounge-v3 .general-filters .title-filter .text-input input,
body.casino-lounge.updated-home.casino-lounge-v3 .scope-search-filter {
    color: var(--igt-slate);
    background: transparent;
    border-color: var(--igt-purple);
    font-size: 16px;
}

/* The magnifier is the field's ::after background image; brightness(0) first makes
 * the result independent of the icon's own colour, the rest tints it to Slate. */
body.casino-lounge.updated-home.casino-lounge-v3 .general-filters .title-filter .text-input::after {
    filter: brightness(0) saturate(100%) invert(16%) sepia(11%) saturate(1100%) hue-rotate(196deg) brightness(93%);
    height: 100%;
}

body.casino-lounge.updated-home.casino-lounge-v3 .scope-search-filter::placeholder {
    color: var(--igt-slate);
    opacity: 1;
}

/* Reserve the real button width instead of the legacy viewport-scaled slot. */
@media (min-width: 1025px) {
    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters {
        gap: 16px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters > .general-filters {
        flex: 1;
        min-width: 0;
        width: auto;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters .general-sorting {
        flex-shrink: 0;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters .isb-cta-button {
        white-space: nowrap;
    }
}

/* Anchor both controls below search with the same gap. Legacy vw heights shrink
 * to 24px just above the phone breakpoint and cannot fit the v3 16px labels. */
@media (max-width: 1024px) {
    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters .isb-cta-button {
        min-height: 44px;
        height: auto;
        padding: 10px 12px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters:not(.no-sorting) .gameOptions {
        top: calc(100% + 20px);
        bottom: auto;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .lobby-filters .general-sorting {
        margin-top: 20px;
    }

    body.casino-lounge.updated-home.casino-lounge-v3 .general-filters .title-filter .text-input {
        min-height: 44px;
    }

}

/* A dark CMS page background needs the page's Foreground (Font) Colour set; the legacy
 * .global-text rule then paints every element with !important, including controls that
 * sit on their own white/light fields. Keep those controls' own text colour. That legacy
 * selector weighs (0,9,1) through its :not() chain, so :not(#igt) lifts these above it. */
body.casino-lounge.updated-home.casino-lounge-v3.global-text .general-filters .title-filter .text-input:not(#igt) input,
body.casino-lounge.updated-home.casino-lounge-v3.global-text .lobby-filters .isb-cta-button:not(#igt) {
    color: var(--igt-slate) !important;
}

/* Filters uses labels/spans, Sort by uses links. Protect both from the CMS
 * foreground, including the selected row while hovered. */
body.casino-lounge.updated-home.casino-lounge-v3.global-text .lobby-filters .igt-dropdown :is(li, li a, li label, li span):not(#igt) {
    color: var(--igt-white) !important;
}

body.casino-lounge.updated-home.casino-lounge-v3.global-text .lobby-filters .igt-dropdown :is(li:hover:not(.uk-active), li:hover:not(.uk-active) a, li:hover:not(.uk-active) label, li:hover:not(.uk-active) span):not(#igt) {
    color: var(--igt-slate) !important;
}

body.casino-lounge.updated-home.casino-lounge-v3 .form-check-input {
    accent-color: var(--igt-slate);
}

body.casino-lounge.updated-home.casino-lounge-v3 .not-authorized-block__icon {
    filter: brightness(0) saturate(100%) invert(97%);
}

/* No solid background: the legacy overlay is a dark gradient plus blur over the
 * artwork, and a flat Slate fill hid the thumbnail entirely (PO-1927 review, item 3). */
body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__meta {
    color: var(--igt-white);
    overflow: hidden;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__meta-content {
    box-sizing: border-box;
    max-height: 100%;
    overflow: visible;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__meta-content .isb-game__details {
    box-sizing: border-box;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 12px;
    margin: 0;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__details .isb-game__button {
    margin-bottom: 8px;
    font-size: 16px !important;
    line-height: 1.25;
    min-height: 44px;
    height: auto;
    width: 100%;
    padding: 10px 8px;
    border-radius: 6px;
}

body.casino-lounge.updated-home.casino-lounge-v3 .isb-game__details .isb-game__button:last-child {
    margin-bottom: 0;
}
