:root {
    /* Dawn Lake Minimal — Big Bass Demo (sitewide) */
    --cr-bg: #0a1c24;
    --cr-bg-dark: #06141a;
    --cr-surface: #153544;
    --cr-surface-light: #1c4456;
    --cr-surface-hover: #102a36;
    --cr-card-gradient: linear-gradient(135deg, #1c4456 0%, #0a1c24 57%);
    --cr-text: #c5d9d6;
    --cr-text-light: #fff;
    --cr-text-muted: #7f9e9a;
    --cr-accent: #e8b84a;
    --cr-accent-hover: #f0c96a;
    --cr-accent-bright: #ffe08a;
    --cr-bass: #3d9e5c;
    --cr-btn-text: #0a1c24;
    --cr-border: rgba(232, 184, 74, 0.22);
    --cr-border-soft: rgba(197, 217, 214, 0.16);
    --cr-header-bg: rgba(6, 20, 26, 0.94);
    --cr-header-border: rgba(42, 90, 106, 0.55);
    /* Legacy gradient tokens kept for decorative surfaces; CTAs use solid page-btn style */
    --cr-btn-gradient: linear-gradient(360deg, #c9921a 0%, #f0c96a 100%);
    --cr-btn-gradient-hover: linear-gradient(360deg, #e8b84a 0%, #ffe08a 100%);
    --cr-btn-shadow: 0 0 4px rgba(232, 184, 74, 0.45);
    --cr-btn-shadow-hover: 0 0 14px rgba(232, 184, 74, 0.7);
    --cr-btn-solid: var(--cr-accent-hover);
    --cr-btn-solid-hover: #ffe08a;
    --cr-btn-radius: 10px;
    --cr-btn-outline: #2a5a6a;
    --cr-font: "Roboto", sans-serif;
    --push-soft-accent: linear-gradient(360deg, #c9921a 0%, #f0c96a 100%);
    --push-soft-accent-text: #0a1c24;
    --push-soft-panel-bg: #ffffff;
    --push-soft-panel-border: rgba(0, 0, 0, 0.08);
    --push-soft-title-color: #0a1c24;
    --push-soft-body-color: #444444;
    --push-soft-cancel-color: #666666;
}

*{
    margin: 0;
    padding:0;
    box-sizing: border-box;
    font-family: var(--cr-font);
}

html, body {
    overflow-x: hidden;
}

body {
    background-color: var(--cr-bg);
    color: var(--cr-text);
    font-size: 15px;
    line-height: 1.64;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

header {
    border-bottom: 1px solid var(--cr-header-border);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: var(--cr-header-bg);
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
}

main {
    flex: 1;
    max-width: 100%;
    overflow-x: hidden;
}

header .navbar-brand {
    margin-right: auto;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 0;
}

/* Big Bass wordmark — wide aspect; cap height + width for header. */
header .navbar-brand img {
    display: block;
    height: auto;
    width: auto;
    max-height: 52px;
    max-width: 180px;
    object-fit: contain;
}

header .navbar-collapse .nav-item a {
    color: #fff !important;
    padding: 14px 30px !important;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}


header .navbar-collapse .nav-item .nav-link{
    position: relative;
    transition: color 0.35s ease;
}

header .navbar-collapse .nav-item .nav-link:hover:before,
header .navbar-collapse .nav-item .nav-link.active:before {
    display: none;
}

header .navbar-collapse .nav-item .nav-link:hover,
header .navbar-collapse .nav-item .nav-link.active {
    color: var(--cr-accent) !important;
}

/* CTA buttons — solid accent (demo/download page-btn parity) */
header .navbar-collapse .nav-item:last-child:not(.dropdown) a,
.main_btn {
    background: var(--cr-btn-solid, #f0c96a);
    box-shadow: none;
    border: 1.5px solid transparent;
    border-radius: var(--cr-btn-radius, 10px);
    position: relative;
    clip-path: none;
    transition: background 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
}

header .navbar-collapse .nav-item:last-child:not(.dropdown) a:hover,
header .navbar-collapse .nav-item:last-child:not(.dropdown) a.active,
.main_btn:hover {
    background: var(--cr-btn-solid-hover, #ffe08a);
    box-shadow: none;
    filter: none;
}

header .navbar-collapse .nav-item:last-child:not(.dropdown) a:before,
header .navbar-collapse .nav-item:last-child:not(.dropdown) a:after,
.main_btn::before,
.main_btn::after {
    display: none;
}

header .navbar-collapse .nav-item:last-child:not(.dropdown) a:hover,
header .navbar-collapse .nav-item:last-child:not(.dropdown) a.active {
    color: var(--cr-btn-text) !important;
}

header .navbar-collapse .dropdown-menu {
    background: var(--cr-surface);
    border: 1px solid rgba(197, 217, 214, 0.18);
    border-radius: 12px;
    padding: 0.5rem 0;
    margin-top: 0.25rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}
header .navbar-collapse .dropdown-item {
    color: #fff !important;
    padding: 0.5rem 1.25rem;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    background: transparent;
    border: none;
}
header .navbar-collapse .dropdown-item:hover,
header .navbar-collapse .dropdown-item:focus {
    background: rgba(232, 184, 74, 0.12);
    color: var(--cr-accent) !important;
}
header .navbar-collapse .dropdown-divider {
    border-color: rgba(255,255,255,0.1);
    margin: 0.25rem 0;
}


.bigbassdemo-hero-img,
.chickenroad-hero-img {
    display: flex;
    align-items: center;
    /* Pull toward the copy column — avoid a dead gap in the middle of the hero. */
    justify-content: center;
    min-height: 0;
}

.bigbassdemo-hero-img img,
.chickenroad-hero-img img {
    width: 100%;
    max-width: 280px;
    height: auto;
    object-fit: contain;
    display: block;
}
@media (min-width: 768px) and (max-width: 1199px) {
    .bigbassdemo-hero-img img,
    .chickenroad-hero-img img {
        max-width: 240px;
    }
}
@media (max-width: 767px) {
    .bigbassdemo-hero-img,
    .chickenroad-hero-img {
        justify-content: center;
        margin-top: 0.5rem;
    }
    .bigbassdemo-hero-img img,
    .chickenroad-hero-img img {
        max-width: 150px;
        margin: 0 auto;
    }
}

/* SEO/accessibility: single H1 lives in DB content; hero shows the same title visually. */
.page-content-from-db .page-content-lead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.hero_content h1,
.hero_content .hero_content__title {
    font-size: clamp(2.25rem, 5vw, 3.625rem);
    color: var(--cr-text-light);
    font-weight: 900;
    line-height: 1.15;
    margin: 0 0 0.75rem;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.hero_content p {
    font-size: 17px;
    color: var(--cr-text);
}

.hero_content__ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.hero_content__ctas .main_btn {
    margin-top: 0;
    width: auto;
    max-width: 100%;
    flex: 0 1 auto;
}

.hero_content__ctas .main_btn a {
    width: auto;
    min-width: 10rem;
    font-size: 0.98rem;
    padding: 0.9rem 1.5rem;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .hero_content__ctas {
        justify-content: flex-start;
        gap: 1rem;
    }
    .hero_content__ctas .main_btn {
        max-width: 280px;
    }
    .hero_content__ctas .main_btn a {
        min-width: 168px;
        font-size: 0.98rem;
        padding: 0.9rem 1.5rem;
    }
}


.hero_section {
    padding-top: 170px;
}

.hero_section > .container {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .hero_section > .container {
        border-radius: 0;
        padding: 0;
    }
}

.hero_content h1 span,
.hero_content .hero_content__title span {
    color: var(--cr-accent);
}


.main_btn {
    width: fit-content;
}

.main_btn a {
    text-transform: none;
    color: var(--cr-btn-text);
    text-decoration: none;
    width: fit-content;
    padding: 0.9rem 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.2;
    border-radius: var(--cr-btn-radius, 10px);
    min-height: 44px;
    box-sizing: border-box;
}
.main_btn a:hover,
.main_btn a:focus,
.main_btn a:active {
    color: var(--cr-btn-text) !important;
}
.main_btn a:hover {
    opacity: 1;
}
.main_btn a:active {
    opacity: 0.92;
}

/* Secondary CTA — outline (page-btn--s parity) */
.hero_content__ctas .main_btn + .main_btn,
.blog-promo-btns .main_btn + .main_btn {
    background: transparent;
    box-shadow: none;
    border-color: var(--cr-btn-outline, #2a5a6a);
}
.hero_content__ctas .main_btn + .main_btn a,
.hero_content__ctas .main_btn + .main_btn a:hover,
.hero_content__ctas .main_btn + .main_btn a:focus,
.hero_content__ctas .main_btn + .main_btn a:active,
.blog-promo-btns .main_btn + .main_btn a,
.blog-promo-btns .main_btn + .main_btn a:hover,
.blog-promo-btns .main_btn + .main_btn a:focus,
.blog-promo-btns .main_btn + .main_btn a:active {
    color: #fff !important;
    background: transparent;
}
.hero_content__ctas .main_btn + .main_btn:hover,
.blog-promo-btns .main_btn + .main_btn:hover {
    background: transparent !important;
    border-color: var(--cr-btn-solid, #f0c96a);
}

.hero_content h5,
.hero_content .hero-eyebrow {
    color: var(--cr-accent);
    font-weight: 700;
    margin-bottom: 15px;
}


.main_heading h5 svg {
    font-size: 20px;
    height: 80px;
    transform: scaleX(-1);
    fill: var(--cr-accent);
    margin:0px 10px;
}

.main_heading {
    text-align: center;
}

.main_heading h5 {
    color: var(--cr-accent);
    font-weight: 600;
    font-size: 25px;
}


.main_heading h2,
.main_heading h3 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--cr-text-light);
    margin-top: -10px;
    line-height: 1.18;
}

.page-content-from-db .about_content p,
.page-content-from-db .about_content li,
.about_content p {
    color: var(--cr-text);
}




.about_content img:not(.demo-quick-access__store-icon):not(.demo-preview-card__img):not(.home-latest-card__img) {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
}

/* Section "How to Start Playing Aviator" (id=batting): image left, text right, no overlap */
#batting .row.align-items-center {
    gap: 2rem;
}
#batting .row [class*="col-"] {
    min-width: 0;
}
/* Column that contains the image: clip so image never overlaps text */
#batting .row [class*="col-"]:has(.about_content img) {
    overflow: hidden;
}
#batting .row [class*="col-"]:has(.about_content ul),
#batting .row [class*="col-"]:not(:has(.about_content img)) {
    overflow: visible;
}
#batting .row [class*="col-"] .about_content {
    overflow: visible;
}
#batting .row [class*="col-"]:first-child .about_content {
    padding-right: 1rem;
}
#batting .row [class*="col-"]:last-child .about_content {
    padding-left: 1rem;
}
@media (min-width: 992px) {
    /* Image column first (left), text column second (right); use :has(.about_content img) in case img is inside figure */
    #batting .row > [class*="col-"]:has(.about_content img) {
        order: 1;
        flex: 0 0 calc(50% - 1rem);
        width: calc(50% - 1rem);
        max-width: calc(50% - 1rem);
    }
    #batting .row > [class*="col-"]:has(.about_content ul),
    #batting .row > [class*="col-"]:not(:has(.about_content img)) {
        order: 2;
        flex: 0 0 calc(50% - 1rem);
        width: calc(50% - 1rem);
        max-width: none;
    }
}

/* #batting step 2: images/figures in one column stack vertically — no overlapping */
#batting .about_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
/* Image must stay inside its column — never overlap text */
#batting .about_content img:not(.home-store-icon):not(.demo-quick-access__store-icon),
#batting .about_content figure img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
    z-index: 1;
    object-fit: contain;
}
#batting .about_content figure {
    max-width: 100%;
    position: relative;
    z-index: 1;
}
#batting .about_content figure + figure,
#batting .about_content img + img,
#batting .about_content figure + img,
#batting .about_content img + figure {
    margin-top: 1rem;
}
#batting .about_content ul {
    order: 1;
}
#batting .about_content .main_btn {
    order: 2;
}

/* #batting step 3: one bullet style for all list items (dots only, no mixed arrows) */
#batting .about_content ul li {
    list-style: none;
}
#batting .about_content ul li i {
    color: transparent !important;
    font-size: 0;
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
    border-radius: 50%;
    background: var(--cr-accent);
    margin-top: 10px;
}

/* #batting step 4: headings and text blocks above images (not covered) */
#batting .main_heading,
#batting .about_content h2,
#batting .about_content h3,
#batting .about_content h4,
#batting .about_content p:first-of-type {
    position: relative;
    z-index: 2;
}
#batting .about_content > *:not(ul):not(.main_btn) {
    position: relative;
    z-index: 2;
}

/* All content sections: prevent column content from overflowing and overlapping */
.page-content-from-db .row [class*="col-"] {
    min-width: 0;
}

.about_content ul {
    margin: 0;
    padding: 10px;
}

.about_content ul li {
    list-style: none;
    display: flex;
    gap: 20px;
    font-size: 20px;
    color: #fff;
    margin-top: 30px;
    font-weight: 500;
}

.about_content ul li i {
    margin-top: 6px;
    color: var(--cr-accent);
}

.about_content ul li span {
    color: var(--cr-accent);
}


.main_heading  p {
    color: #fff;
    font-size: 16px;
    margin: 10px 0px 0px 0px;
}


.steps_box {
    border-radius: 20px;
    text-align: center;
    padding: 20px;
    position: relative;
    z-index: 1;
    background: var(--cr-card-gradient);
    border: 1px solid rgba(197, 217, 214, 0.12);
}

.steps_box img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 10px;
    margin-bottom: 20px;
}



.steps_content h3 {
    color: var(--cr-accent);
    font-weight: 700;
}

.steps_content p {
    margin: 0;
    color: var(--cr-text);
    font-size: 17px;
    font-weight: 500;
}

.steps_box:before {
    display: none;
}

.review_box {
    background: var(--cr-surface);
    box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
    padding: 17px 17px;
    /* Avatar is top:-44px and 90px tall → bottom ~46px; need gap before text */
    padding-top: 4.75rem;
    padding-bottom: 3rem;
    position: relative;
    border-radius: 10px;
    overflow: visible;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

/* Quote marks: were vertically centered (top:0; bottom:90px) and overlapped centered text on desktop */
.review_box::before, .review_box::after {
    position: absolute;
    left: 14px;
    bottom: 12px;
    top: auto;
    margin: 0;
    width: 22px;
    height: 40px;
    content: '';
    background: url(../images/left-quote.png) no-repeat center / contain;
    opacity: 0.22;
    z-index: 0;
    pointer-events: none;
}

.review_box::after {
    left: 38px !important;
    bottom: 12px;
    top: auto;
}

.review_img {
    position: absolute;
    left: 0;
    top: -44px;
    right: 0;
    justify-content: center;
    display: flex;
    width: 90px;
    height: 90px;
    background: #252525;
    margin: auto;
    border-radius: 50%;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    z-index: 2;
    flex-shrink: 0;
}

.rounder {
    height: 75px;
    width: 75px;
    background: transparent;
    border-radius: 50%;
    position: absolute;
    border: 3px solid var(--cr-accent);
    animation: slideDas 5s infinite linear;
}

@keyframes slideDas {
    100%{
    transform: rotate(360deg);
} 
    
}

.rounder:before, .rounder:after {
    position: absolute;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background: var(--cr-accent);
    content: '';
}
.rounder:before {
    left: 7px;
    top: 0;
}

.rounder:after {
    right: 0;
    bottom: 7px;
}

.review_img img {
    width: 75px;
    height: 75px;
    object-fit: cover;
    border-radius: 50%;
}

.review_content {
    margin-top: 0;
    position: relative;
    z-index: 1;
    padding-top: 0.35rem;
    width: 100%;
    max-width: 100%;
}

/* Testimonials swiper: room for avatars above cards; avoid clipping */
#testimonial .swiper.swiper-slider {
    padding-top: 2.75rem;
    overflow: hidden;
}
#testimonial .swiper .swiper-slide {
    height: auto;
    box-sizing: border-box;
    padding-bottom: 0.75rem;
    display: flex;
    align-items: stretch;
}


.review_content h6 {
    font: normal normal 600 18px Rajdhani;
    color: var(--cr-accent);
    margin: 0 0 0.6rem 0;
}

.review_content h4{
    color: #fff;
    margin: 0 0 0.35rem 0;
}


.review_content  p {
    font-size: 14px;
    margin: 0;
    padding-bottom: 0.25rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
}


footer {
    text-align: center;
    margin-top: auto;
    background: var(--cr-surface);
    position: relative;
}

footer::before {
    content: "";
    display: block;
    height: 20px;
    background: var(--cr-surface-light);
}

footer .container {
    margin-top: 0;
    border-top: none;
    padding: 2.5rem 15px 2rem;
}

footer .footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 2rem;
    margin-bottom: 1.5rem;
}

footer .footer-nav a {
    color: var(--cr-text-light);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
}
footer .footer-nav a:hover {
    color: var(--cr-accent);
}

footer .footer-responsible {
    text-align: left;
    max-width: 900px;
    margin: 0 auto 1.5rem;
    color: var(--cr-text);
    font-size: 13px;
    line-height: 1.5;
}
footer .footer-responsible strong {
    color: var(--cr-text-light);
}

footer h5 {
    color: var(--cr-text-light);
    margin: 0;
    font-size: 18px;
}


#myBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 24px;
    z-index: 99;
    width: 58px;
    line-height: 0;
    border: none;
    outline: none;
    /* Ice Fish beacon shape + Dawn Lake lure gold */
    background: var(--cr-btn-gradient);
    box-shadow: var(--cr-btn-shadow);
    cursor: pointer;
    padding: 0;
    clip-path: polygon(50% 0%, 92% 15%, 92% 100%, 8% 100%, 8% 15%);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
#myBtn:hover,
#myBtn:focus-visible {
    transform: translateY(-3px);
    box-shadow: var(--cr-btn-shadow-hover);
}
#myBtn .myBtn__hook {
    display: block;
    width: 36px;
    height: 36px;
    margin: 16px auto 12px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.28));
}
  

.menu-toggle {
    display: none;
    border: none;
    background: transparent;
    padding: 0.5rem;
    min-width: 44px;
    min-height: 44px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.menu-toggle i {
    color: var(--cr-accent);
    font-size: 25px;
    pointer-events: none; /* click/tap goes to .menu-toggle, not icon */
}

/* Separate desktop/mobile language switchers */
.site-lang-switcher-mobile {
    display: none;
}

/* Language switcher: flag + native label (Polylang-style); flags via flagcdn.com */
.site-lang-flag {
    width: 24px;
    height: 18px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
    vertical-align: middle;
}
.site-lang-flag--toggle {
    margin-right: 2px;
}
.site-lang-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.site-lang-mobile-link.site-lang-item {
    display: flex;
}
.site-lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    background: var(--cr-bg) !important;
    border: 1px solid var(--cr-surface) !important;
    border-radius: 20px !important;
    color: #fff !important;
}
.site-lang-toggle:hover,
.site-lang-toggle:focus {
    background: var(--cr-surface-hover) !important;
    color: #fff !important;
}
.site-lang-toggle-text {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-lang-dropdown.dropdown-menu {
    max-height: none;
    overflow-y: visible;
    background: var(--cr-surface);
    border: 1px solid rgba(197, 217, 214, 0.18);
    border-radius: 12px;
}
.site-lang-dropdown .dropdown-item.site-lang-item {
    color: #fff;
}
.site-lang-dropdown .dropdown-item.site-lang-item:hover,
.site-lang-dropdown .dropdown-item.site-lang-item:focus {
    background: rgba(232, 184, 74, 0.12);
    color: var(--cr-accent);
}
.site-lang-dropdown .dropdown-item.site-lang-item.active {
    font-weight: 600;
    color: var(--cr-accent);
}

.breadcrumbs .row {
    padding:2rem 0;
    font-size:14px;
    color:#999;
    font-weight:400
}

a {
    color:#fff;
}

a:hover {
    color: var(--cr-accent);
    transition:0.5s
}

.breadcrumbs span {
    color:var(--cr-accent)
}

h1 {
    font-size:2.5rem;
    color:#fff;
    font-weight:700;
}

.text {
    color:#999;
    font-size:17px;
    margin-top:2rem;
}

.text h1,.text h2,.text h3 {
    color:#FFF;
    margin-bottom:1rem;
}

.text h1 {
    margin-bottom:2rem;
}

.text strong {
    color:#CFCFCF
}

.pagination {
    justify-content:center;
    margin-top:2rem;
    font-size:17px;
    font-weight:700;
}

.pagination a,.pagination div {
    display:flex;
    width:36px;
    height:36px;
    border-radius:5px;
    justify-content:center;
    align-items:center;
    border:1px solid #999;
    margin:2px;
    text-decoration:none
}

.pagination div {
    color:#fff
}

.pagination div img,.pagination a img {
    width:16px;
    height:16px;
    margin:0;
    filter: invert(55%) sepia(78%) saturate(0%) hue-rotate(183deg) brightness(93%) contrast(97%);
}

.pagination a {
    color:#999;
}

.pagination a:hover {
    background:var(--cr-accent);
    color:#fff
}

.pagination a:hover img {
    filter: none;
}

/* Page content from DB — light text everywhere (table, FAQ, paragraphs) */
.page-content-from-db,
.page-content-from-db section {
    color: #f0f0f0;
}
.page-content-from-db .about_content p,
.page-content-from-db .about_content,
.page-content-from-db #faq .about_content p,
.page-content-from-db .about_content strong {
    color: #f0f0f0;
}
.page-content-from-db .about_content p strong {
    color: #fff;
}

/* Tables — styled like donor, light text and borders */
.page-content-from-db .table-responsive,
.page-content-from-db .table-responsive .table {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.2);
}
.page-content-from-db .table-responsive {
    margin-bottom: 1.25rem;
}
.page-content-from-db .table-responsive + h3 {
    margin-top: 1rem;
}
.page-content-from-db .table,
.page-content-from-db .table.table-bordered {
    color: var(--cr-text);
    border-color: rgba(197, 217, 214, 0.25);
    margin-bottom: 0;
    background-color: rgba(42, 90, 106, 0.35);
}
.page-content-from-db .table th,
.page-content-from-db .table td {
    color: var(--cr-text);
    border-color: rgba(197, 217, 214, 0.22);
    padding: 12px 16px;
    background-color: transparent;
}
.page-content-from-db .table thead th {
    background-color: rgba(42, 90, 106, 0.55);
    color: var(--cr-text-light);
    font-weight: 600;
}
.page-content-from-db .table tbody td {
    color: #f0f0f0;
}
.page-content-from-db .table a {
    color: #f0f0f0;
}
.page-content-from-db .table a:hover {
    color: var(--cr-accent);
}

/* Guides: cards in site style (dark, not white) */
.guide-card {
    background-color: var(--cr-surface);
    border: 1px solid rgba(197, 217, 214, 0.18);
    color: var(--cr-text-light);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.guide-card:hover {
    border-color: rgba(232, 184, 74, 0.45);
    box-shadow: 0 4px 20px rgba(232, 184, 74, 0.12);
    color: var(--cr-text-light);
}
.guide-card .card-title {
    color: #fff;
}
.guide-card .guide-card-desc {
    color: #c0c0c0;
    font-size: 0.95rem;
}
.guide-card .guide-card-link {
    color: var(--cr-accent);
    font-size: 0.9rem;
    font-weight: 600;
}
.guide-card-landing {
    background-color: #252525;
}
/* Card image: full width, no cropping — height auto so image is fully visible */
.guide-card .card-img-top {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center;
    opacity: 0.95;
    background: #1a1a1a;
}

/* Author byline (top of editorial content) */
.author-byline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1.25rem;
    padding: 0;
    font-size: 0.95rem;
    line-height: 1.4;
    color: #bdb1de;
}
.author-byline-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid rgba(67, 160, 71, 0.6);
}
.author-byline-avatar--placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 1rem;
}
.author-byline-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.author-byline-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
}
.author-byline-prefix {
    color: #bdb1de;
    font-weight: 500;
}
.author-byline-name {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}
.author-byline-name:hover {
    color: var(--cr-accent);
    text-decoration: underline;
}
.author-byline-sub {
    font-size: 0.85rem;
    color: #9a8fb8;
}
.author-byline-role {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.75rem;
}
.author-byline-sep {
    opacity: 0.7;
}
.author-profile .author-social a,
.author-references a {
    color: var(--cr-accent);
}

/* Authors list: compact cards with circular avatar */
.author-list-card .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.25rem 1rem 1rem;
}
.author-list-card-avatar-wrap {
    margin-bottom: 0.75rem;
}
.author-list-card-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid rgba(67, 160, 71, 0.75);
    background: #222;
}
.author-list-card-avatar--placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #fff;
}
.author-list-card .card-title {
    margin-bottom: 0.35rem;
    font-size: 1.05rem;
}
.author-list-card .card-text.small {
    margin-bottom: 0.5rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cr-accent) !important;
}
.author-list-card .guide-card-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.65rem;
    font-size: 0.88rem;
    line-height: 1.45;
}
.author-list-card .guide-card-link {
    margin-top: auto;
}

/* Category filter strip (All + Analysis, Bonus, …) */
.guide-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
.guide-filter-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #252525;
    color: #c0c0c0;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.guide-filter-btn:hover {
    color: #fff;
    border-color: rgba(232, 184, 74, 0.45);
    background: #2a2a2a;
}
.guide-filter-btn.active {
    background: var(--cr-accent);
    color: #fff;
    border-color: var(--cr-accent);
}
.guide-card-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cr-accent);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.35rem;
}
.promo-card--ended {
    opacity: 0.72;
}
.promo-card--ended .card-title,
.promo-card--ended .guide-card-desc {
    color: #6c757d;
}
.promo-badge-ended {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: #6c757d;
    border-radius: 4px;
    padding: 0.15rem 0.45rem;
    margin-bottom: 0.45rem;
}
.promo-badge-until {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--cr-accent);
    margin-bottom: 0.35rem;
}
.promo-card__media {
    overflow: hidden;
}
.promo-card__img {
    width: 100%;
    object-fit: cover;
}
.promo-card--featured {
    border: 1px solid rgba(232, 184, 74, 0.25);
}
.promo-card--featured .promo-card__img {
    min-height: 220px;
}
@media (min-width: 768px) {
    .promo-card--featured .promo-card__img {
        min-height: 100%;
    }
}
.promo-card__title-link {
    color: inherit;
    text-decoration: none;
}
.promo-card__title-link:hover {
    color: var(--cr-accent);
}
.promo-card__cta.main_btn {
    margin-top: auto;
    padding-top: 0.75rem;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-self: center;
}
.promo-card__cta.main_btn a {
    align-items: center;
    justify-content: center;
    line-height: 1.15;
}
/* FanSport-style promo landing (mobile-first hero) */
.promo-land--fansport { margin: -1rem 0 0; }
.promo-land-hero {
    text-align: center;
    padding: 1.25rem 1rem 1.5rem;
    margin: 0 -0.5rem 1.5rem;
    border-radius: 16px;
    background: linear-gradient(165deg, #1a1520 0%, #2c2438 45%, #3d2f1a 100%);
    color: #fff;
    box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.promo-land-hero__visual {
    position: relative;
    max-width: 280px;
    margin: 0 auto 1rem;
    border-radius: 14px;
    overflow: hidden;
}
.promo-land-hero__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
    object-fit: cover;
}
.promo-land-hero__glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 80%, rgba(253,182,20,.35), transparent 60%);
    pointer-events: none;
}
.promo-land-hero__eyebrow {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fdb614;
    margin-bottom: 0.35rem;
}
.promo-land-hero__headline {
    font-size: clamp(2rem, 10vw, 3.25rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 0 0 0.5rem;
    color: #fdb614;
    text-shadow: 0 4px 24px rgba(253,182,20,.45);
}
.promo-land-hero__offer {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}
.promo-land-hero__num {
    font-size: clamp(3rem, 14vw, 4.5rem);
    font-weight: 800;
    line-height: 1;
    color: #fdb614;
    text-shadow: 0 4px 24px rgba(253,182,20,.45);
}
.promo-land-hero__label {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    font-weight: 700;
    line-height: 1.1;
}
.promo-land-hero__lead {
    font-size: 1rem;
    line-height: 1.45;
    color: rgba(255,255,255,.88);
    max-width: 22rem;
    margin: 0 auto 1.1rem;
}
.promo-land-hero__note {
    margin: 0 auto 1.25rem;
    max-width: 24rem;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    color: #fdb614;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 0;
}
.promo-land-hero__cta.main_btn {
    max-width: 16rem;
    margin: 0 auto;
}
.promo-land-hero__cta.main_btn a {
    display: block;
    padding: 0.9rem 1.5rem;
    font-size: 0.98rem;
    font-weight: 800;
    border-radius: var(--cr-btn-radius, 10px);
}
.promo-land-body h2 { margin-top: 1.5rem; font-size: 1.25rem; }
.promo-land-steps { display: grid; gap: 1rem; margin: 1rem 0; }
@media (min-width: 768px) {
    .promo-land-steps { grid-template-columns: 1fr 1fr; }
}
.promo-land-step {
    padding: 1rem 1.1rem;
    border-radius: 12px;
    background: rgba(253,182,20,.08);
    border: 1px solid rgba(253,182,20,.2);
}
.promo-land-step h3 { font-size: 1.05rem; margin-bottom: 0.5rem; }
.promo-land-step h2 { font-size: 1.1rem; margin-bottom: 0.45rem; }
.promo-land-closing {
    margin: 1.25rem 0 1.5rem;
    font-size: 1rem;
    line-height: 1.55;
    color: inherit;
}
.promo-land-code {
    margin: 0.75rem 0;
    text-align: center;
}
.promo-land-code code {
    display: inline-block;
    padding: 0.45rem 1rem;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    background: #0a1c24;
    color: #fdb614;
    border-radius: 8px;
}
.promo-land-note {
    padding: 1rem;
    border-radius: 10px;
    background: #f8f9fa;
    border-left: 4px solid #6c757d;
    font-size: 0.95rem;
}
.promo-land-foot-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
.promo-land-btn-secondary,
.promo-land-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.5rem;
    min-height: 44px;
    border-radius: var(--cr-btn-radius, 10px);
    font-weight: 800;
    font-size: 0.98rem;
    text-decoration: none;
    box-sizing: border-box;
}
.promo-land-btn-secondary {
    background: var(--cr-btn-solid, #f0c96a);
    color: var(--cr-btn-text, #0a1c24);
}
.promo-land-btn-ghost {
    background: transparent;
    border: 1.5px solid var(--cr-btn-outline, #2a5a6a);
    color: #fff;
}
.promo-land-btn-ghost:hover {
    border-color: var(--cr-btn-solid, #f0c96a);
    color: #fff;
}
@media (max-width: 767px) {
    .promo-section .container { padding-top: 0; }
    .promo-land-hero { min-height: calc(100svh - 120px); display: flex; flex-direction: column; justify-content: center; }
}
/* Single guide: wrapper injected in PHP — guarantees centered images */
.guide-img-center {
    width: 100%;
    text-align: center;
    margin: 1rem 0;
}
.guide-img-center img {
    display: inline-block !important;
    max-width: 768px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 8px;
}
/* Blog promo: center image like casino block, same display rules */
.blog-promo-img {
    margin: 1.5rem 0;
    text-align: center;
}
.blog-promo-img img {
    display: block !important;
    max-width: 480px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 8px;
}
.blog-promo-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-start;
    align-items: center;
}
.blog-promo-btns .main_btn {
    margin: 0;
    width: auto;
    max-width: 100%;
    flex: 0 1 auto;
    margin-left: 0;
    margin-right: 0;
}
.blog-promo-btns .main_btn a {
    width: auto;
}

/* Blog: prev/next + related (internal links, not offer CTAs) */
.blog-internal-links-wrap {
    padding: 2rem 0 2.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin-top: 0.5rem;
}
.blog-internal-nav {
    margin-bottom: 1.75rem;
}
.blog-internal-nav-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    justify-content: flex-start;
    align-items: flex-start;
}
.blog-internal-nav-item {
    flex: 0 1 280px;
    max-width: 100%;
    line-height: 1.35;
}
/* Labels: same tone as .blog-related-heading / breadcrumb row */
.blog-internal-nav-label {
    display: block;
    font-weight: 600;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #999;
    margin-bottom: 0.35rem;
}
.blog-internal-nav-title-link {
    display: block;
    font-weight: 600;
    text-decoration: none;
    color: var(--cr-accent);
}
.blog-internal-nav-title-link:hover {
    color: #fff;
    text-decoration: underline;
}
.blog-internal-nav-prev {
    text-align: left;
}
.blog-internal-nav-next {
    text-align: right;
    margin-left: auto;
}
.blog-related-heading {
    font-size: 1.1rem;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #999;
}
.blog-related-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.blog-related-list a {
    text-decoration: none;
    color: var(--cr-accent);
    border-bottom: 1px solid transparent;
}
.blog-related-list a:hover {
    color: #fff;
    border-bottom-color: currentColor;
}

/* Casino articles: center all in-content images like guides */
.casino-article-content img,
.casino-article-content figure img {
    display: block !important;
    max-width: 480px !important;
    width: auto !important;
    height: auto !important;
    margin: 1rem auto !important;
}
/* Games: images max 1/3 viewport height on mobile */
.game-img-center img {
    max-width: 768px !important;
    width: auto !important;
    height: auto !important;
}
@media (max-width: 768px) {
    .game-img-center img {
        max-height: 33vh !important;
        width: auto !important;
        object-fit: contain;
    }
}
/* Legacy: in-content images when not wrapped */
.page-content-from-db .about_content img:not(.demo-quick-access__store-icon):not(.demo-preview-card__img):not(.home-store-icon):not(.home-casino-row__logo):not(.home-img):not(.home-latest-card__img),
.page-content-from-db .about_content figure img:not(.demo-quick-access__store-icon):not(.demo-preview-card__img):not(.home-store-icon):not(.home-img) {
    max-width: 768px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 8px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.page-content-from-db .about_content figure {
    margin: 1.5rem 0;
}
.page-content-from-db .about_content figure img {
    margin-top: 0;
    margin-bottom: 0;
}

/* Homepage split sections keep Bootstrap columns (do not force 100% width). */
@media (min-width: 992px) {
    .page-content-from-db #batting .row.home-split > [class*="col-"]:has(.about_content img),
    .page-content-from-db #batting .row.home-split > [class*="col-"]:not(:has(.about_content img)) {
        order: unset !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* Centre images inside section-media wrappers */
.page-content-from-db .about_content.section-media {
    text-align: center;
}
.page-content-from-db .about_content.section-media figure,
.page-content-from-db .about_content .section-media__figure,
.page-content-from-db .section-media__figure {
    margin: 1.5rem auto !important;
    max-width: 768px;
    text-align: center;
}
.page-content-from-db .about_content.section-media figure img,
.page-content-from-db .about_content.section-media img,
.page-content-from-db .section-media__figure img,
.page-content-from-db .section-media img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain;
    border-radius: 8px;
}

/* Demo page cluster (pages#4) — steps grid only; all other images single-column */
.page-content-from-db #how-to-start .row [class*="col-"] {
    min-width: 0;
}
.page-content-from-db #how-to-start .steps_box {
    overflow: hidden;
    border-radius: 10px;
}
.page-content-from-db #how-to-start .steps_box img {
    width: 100% !important;
    max-width: 100% !important;
    height: 190px !important;
    object-fit: cover !important;
    object-position: left center !important;
    margin-bottom: 1rem !important;
    border-radius: 0 !important;
}

/* Games / long-form DB lists: figures must be block-level, not inside inline spans */
.page-content-from-db .about_content li .section-media__figure,
.page-content-from-db .about_content ul .section-media__figure {
    display: block;
    margin: 1.5rem auto !important;
    max-width: 768px;
    width: 100%;
    text-align: center;
    clear: both;
}
.page-content-from-db .about_content li .section-media__figure img {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Games DB copy: title+screenshot blocks (not #batting icon lists) */
.page-content-from-db .about_content ul:has(.section-media__figure) {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}
.page-content-from-db .about_content ul:has(.section-media__figure) li {
    display: block;
    margin: 0;
    padding: 0;
    gap: 0;
    font-size: inherit;
    font-weight: 600;
    color: var(--cr-text);
}
.page-content-from-db .about_content ul:has(.section-media__figure) + p {
    margin-top: 0.75rem;
}
.page-content-from-db .about_content p + ul:has(.section-media__figure) {
    margin-top: 0.75rem;
}

/* Casino promo / info tables (Battery-style) */
.promo-table {
    width: 100%;
    max-width: 900px;
    margin: 1.5rem auto;
    border-collapse: collapse;
    font-size: 0.95rem;
}
.promo-table thead th {
    background: rgba(255,255,255,0.04);
    color: #fff;
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.promo-table tbody td {
    padding: 0.6rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.promo-table tbody tr:nth-child(2n) td {
    background: rgba(255,255,255,0.02);
}
.promo-table th,
.promo-table td {
    vertical-align: top;
}

/* Guide CTA buttons — page-btn primary parity */
.guide-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.5rem;
    min-height: 44px;
    margin: 0.5rem 0.5rem 0.5rem 0;
    background: var(--cr-btn-solid, #f0c96a);
    color: var(--cr-btn-text) !important;
    font-weight: 800;
    font-size: 0.98rem;
    text-decoration: none !important;
    text-transform: none;
    border: 1.5px solid transparent;
    border-radius: var(--cr-btn-radius, 10px);
    box-shadow: none;
    clip-path: none;
    transition: background 0.2s ease;
}
.guide-cta-btn:hover {
    color: var(--cr-btn-text) !important;
    background: var(--cr-btn-solid-hover, #ffe08a);
    box-shadow: none;
}
.page-content-from-db .guide-cta-wrap {
    margin: 1.5rem 0;
}

/* Game demo embed (16:9 box; DB embed uses .main__frame-ratio, /demo/app/ uses inner div) */
.main__frame {
    width: 100%;
}
.main__frame-ratio,
.main__frame > div:first-of-type:not(.main__frame-app-inner) {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}
@supports (aspect-ratio: 16 / 9) {
    .main__frame-ratio,
    .main__frame > div:first-of-type:not(.main__frame-app-inner) {
        height: auto;
        aspect-ratio: 16 / 9;
        padding-bottom: 0;
    }
}
.main__frame-iframe,
.main__frame-ratio iframe,
.main__frame iframe {
    border: 0;
    vertical-align: bottom;
}

/* /demo/app/ shell — keep Try Bonus compact (flat .main_btn min-height must not apply) */
.demo-app-doc .demo-app-cta-btn.main_btn a {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

/* /download/install-pwa/ — quick-install callout + step list */

/* PWA install trust palette — calm accent harmonized with brand, optimized for conversion */
.demo-pwa-ios-page {
    --pwa-trust-accent: #48B5A0;
    --pwa-trust-border: rgba(72, 181, 160, 0.42);
    --pwa-trust-intro-bg: linear-gradient(145deg, rgba(72, 181, 160, 0.14) 0%, rgba(15, 20, 25, 0.94) 100%);
    --pwa-trust-intro-glow: rgba(72, 181, 160, 0.22);
    --pwa-tour-ring-color: var(--cr-accent);
    --pwa-tour-ring-glow: rgba(232, 184, 74, 0.55);
}
.demo-pwa-ios-page .pwa-install-from-db > p.pwa-ios-trust-intro,
.demo-pwa-ios-page .pwa-install-from-db > p:first-of-type {
    border: 1px solid var(--pwa-trust-border);
    border-radius: 12px;
    padding: 1.15rem 1.25rem;
    background: var(--pwa-trust-intro-bg);
    box-shadow: 0 8px 28px var(--pwa-trust-intro-glow);
    color: #dce7f0;
}
.demo-pwa-ios-page .pwa-install-from-db > p.pwa-ios-trust-intro strong,
.demo-pwa-ios-page .pwa-install-from-db > p:first-of-type strong {
    color: var(--pwa-trust-accent);
}
.demo-pwa-ios-page .pwa-ios-quick {
    border: 1px solid var(--pwa-trust-border);
    border-radius: 6px;
    padding: 1.5rem 1.5rem 1.75rem;
    background: linear-gradient(145deg, rgba(21, 27, 36, 0.98) 0%, rgba(15, 20, 25, 0.95) 100%);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
.demo-pwa-ios-page .pwa-ios-quick__title {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 0.75rem;
    color: #fff;
}
.demo-pwa-ios-page .pwa-ios-quick__lead {
    color: #c5ced8;
    line-height: 1.65;
    font-size: 1rem;
}
.demo-pwa-ios-page .pwa-ios-quick__back {
    align-self: center;
    padding: 0.25rem 0;
    font-size: 0.95rem;
    font-weight: 400;
    color: #c5ced8;
    text-decoration: underline;
    text-underline-offset: 3px;
    border: 0;
    background: none;
    box-shadow: none;
}
.demo-pwa-ios-page .pwa-ios-quick__back:hover {
    color: #fff;
}
.demo-pwa-ios-page .pwa-install-from-db > .pwa-ios-quick--hero {
    margin: 0.15rem 0 1.35rem;
    border-radius: 12px;
    padding: 1.35rem 1.25rem 1.5rem;
    text-align: center;
}
.demo-pwa-ios-page .pwa-ios-tour-start.main_btn {
    display: block;
    width: 100%;
    max-width: 24rem;
    margin: 0 auto;
    padding: 0.9rem 1.5rem;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: normal;
    border: 0;
    cursor: pointer;
    color: var(--cr-btn-text, #0a1c24);
    line-height: 1.2;
    text-align: center;
    min-height: 44px;
}
.demo-pwa-ios-page .pwa-ios-quick__sub {
    margin: 0.85rem 0 0;
    color: #c5ced8;
    line-height: 1.55;
    font-size: 0.98rem;
}
.demo-pwa-ios-page .pwa-ios-quick--finish {
    margin: 1.75rem 0 0;
    border-radius: 12px;
    padding: 1.35rem 1.25rem 1.5rem;
    text-align: center;
}
.demo-pwa-ios-page .pwa-ios-quick__finish-start {
    margin-bottom: 1.15rem;
}
/* Finish Safari link / Open demo stay clickable before the guided tour ends
   (same idea as .apk-install-from-db finish-body unlock). */
.demo-pwa-ios-page .pwa-ios-quick--finish .pwa-ios-quick__finish-body {
    opacity: 1;
    pointer-events: auto;
    filter: none;
}
body.pwa-ios-tour-finished .demo-pwa-ios-page .pwa-ios-quick__finish-start,
.demo-pwa-ios-page .pwa-ios-quick--finish.is-revealed .pwa-ios-quick__finish-start,
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-quick__finish-start {
    display: none;
}
.demo-pwa-ios-page .pwa-ios-quick__finish-locked-hint {
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
}
.demo-pwa-ios-page .pwa-ios-quick--finish .pwa-ios-quick__title {
    margin-bottom: 0.55rem;
    font-size: clamp(1.15rem, 4vw, 1.35rem);
}
.demo-pwa-ios-page .pwa-ios-quick--finish .pwa-ios-quick__hint {
    margin: 0 0 1rem;
}
.demo-pwa-ios-page .pwa-ios-quick__copied-hint {
    margin: 0.65rem 0 0;
    color: var(--pwa-trust-accent);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
}
.demo-pwa-ios-page .pwa-ios-quick__open-demo {
    margin: 0.75rem 0 0;
}
.demo-pwa-ios-page .pwa-ios-quick__open-link {
    color: #eef3f8;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.demo-pwa-ios-page .pwa-ios-tour-bar {
    margin: 1rem 0 0;
    padding: 0.85rem 1rem;
    border: 1px solid var(--pwa-trust-border);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.22);
    text-align: center;
}
.demo-pwa-ios-page .pwa-ios-tour-bar__progress {
    margin: 0 0 0.75rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.demo-pwa-ios-page .pwa-ios-tour-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    align-items: center;
}
.demo-pwa-ios-page .pwa-ios-tour-back {
    min-height: 2.75rem;
    padding: 0.65rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: #dce4ee;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
}
.demo-pwa-ios-page .pwa-ios-tour-back:disabled {
    opacity: 0.35;
    cursor: default;
}
.demo-pwa-ios-page .pwa-ios-tour-next.main_btn,
.demo-pwa-ios-page .pwa-ios-tour-done.main_btn {
    min-width: 8.5rem;
    min-height: 2.75rem;
    padding: 0.65rem 1.25rem;
    font-size: 0.98rem;
    font-weight: 800;
    border: 0;
    cursor: pointer;
    color: var(--cr-btn-text, #0a1c24);
}
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-tour-step,
body.pwa-ios-tour-running .demo-pwa-ios-page [data-pwa-tour-text],
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-tour-fig {
    opacity: 0.34;
    transition: opacity 0.25s ease;
}
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-tour-step--active,
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-tour-text--active,
body.pwa-ios-tour-running .demo-pwa-ios-page .pwa-ios-tour-fig--active {
    opacity: 1;
}
.demo-pwa-ios-page .pwa-ios-tour-fig--active img {
    border-radius: 14px;
    animation: pwa-ios-tour-ring 1.15s ease-in-out infinite;
}
@keyframes pwa-ios-tour-ring {
    0%, 100% {
        box-shadow: 0 0 0 3px var(--pwa-tour-ring-color, var(--pwa-trust-accent)), 0 0 18px var(--pwa-tour-ring-glow, var(--pwa-trust-intro-glow));
    }
    50% {
        box-shadow: 0 0 0 5px var(--pwa-tour-ring-color, var(--pwa-trust-accent)), 0 0 30px var(--pwa-tour-ring-glow, var(--pwa-trust-intro-glow));
    }
}
.demo-pwa-ios-page .pwa-ios-quick--hero .pwa-ios-quick__title {
    margin-bottom: 0.55rem;
    font-size: clamp(1.15rem, 4vw, 1.35rem);
}
.demo-pwa-ios-page .pwa-ios-quick--hero .pwa-ios-quick__hint {
    margin: 0 0 1rem;
    color: #c5ced8;
    line-height: 1.55;
    font-size: 0.98rem;
}
.demo-pwa-ios-page .pwa-ios-quick__url-block {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin: 0 auto;
    width: 100%;
    max-width: 28rem;
}
.demo-pwa-ios-page .pwa-ios-quick__url {
    display: block;
    flex: 1 1 auto;
    padding: 0.82rem 0.95rem;
    border: 1px solid var(--pwa-trust-border);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
    color: #eef3f8;
    font-size: clamp(0.82rem, 3.6vw, 0.95rem);
    line-height: 1.45;
    word-break: break-all;
    overflow-wrap: anywhere;
    text-align: left;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease;
}
.demo-pwa-ios-page .pwa-ios-quick__url:hover {
    color: #fff;
    border-color: var(--pwa-trust-accent);
}
.demo-pwa-ios-page .pwa-ios-quick__copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--pwa-trust-accent);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.demo-pwa-ios-page .pwa-ios-quick__copy:hover {
    background: rgba(255, 255, 255, 0.11);
    box-shadow: 0 0 16px var(--pwa-trust-intro-glow);
}
.demo-pwa-ios-page .pwa-ios-quick__copy.is-copied {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--pwa-trust-accent);
}
.demo-pwa-ios-page .pwa-ios-quick__copy-icon {
    flex: 0 0 1.15rem;
    width: 1.15rem;
    height: 1.15rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width: 520px) {
    .demo-pwa-ios-page .pwa-ios-quick__url-block {
        flex-direction: row;
        align-items: stretch;
        max-width: 100%;
    }
    .demo-pwa-ios-page .pwa-ios-quick__url {
        word-break: normal;
        overflow-wrap: normal;
        white-space: nowrap;
        min-width: 0;
        font-size: 0.9rem;
    }
    .demo-pwa-ios-page .pwa-ios-quick__copy {
        width: auto;
        flex: 0 0 auto;
        min-width: 9.5rem;
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }
}
.demo-pwa-ios-page .pwa-ios-steps {
    counter-reset: pwa-ios;
}
.demo-pwa-ios-page .pwa-ios-step {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.demo-pwa-ios-page .pwa-ios-step__num {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--cr-accent);
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin-top: 0.15rem;
}
.demo-pwa-ios-page .pwa-ios-step__body {
    flex: 1 1 auto;
    min-width: 0;
}
.demo-pwa-ios-page .pwa-ios-step__fig img {
    max-height: min(72vh, 640px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: 14px;
}
.demo-pwa-ios-page .pwa-ios-tip {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 1rem 1.1rem;
    background: rgba(255, 255, 255, 0.03);
}

/* /download/install-pwa/ — render flat HTML from DB (no server-side "scaffold" transforms) */
.demo-pwa-ios-page .pwa-install-from-db > h1 {
    margin: 0 0 0.9rem;
    font-size: clamp(1.6rem, 2.6vw, 2.05rem);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #fff;
}
.demo-pwa-ios-page .pwa-install-from-db > p:first-of-type {
    margin: 0 0 1.5rem;
    color: #b7c2cf;
    line-height: 1.7;
    font-size: 1.02rem;
}
.demo-pwa-ios-page .pwa-install-from-db {
    counter-reset: pwa-ios;
}
/* Steps: canonical import template = h2 ("Step by step") + repeating (h3 + p + figure) */
.demo-pwa-ios-page .pwa-install-from-db > h2:first-of-type {
    margin: 0 0 1.25rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: 1.55rem;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
}
.demo-pwa-ios-page .pwa-install-from-db > h3 {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    margin: 0 0 0.4rem;
    font-size: 1.05rem;
    line-height: 1.3;
    font-weight: 800;
    color: #fff;
    counter-increment: pwa-ios;
}
.demo-pwa-ios-page .pwa-install-from-db > h3::before {
    content: counter(pwa-ios);
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--cr-accent);
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    margin-top: 0.05rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p {
    margin: 0 0 0.15rem 3.4rem; /* align under the title line (not under the number bubble) */
    line-height: 1.65;
    color: #b7c2cf;
}
/* Step screenshots: full column width + centered (body stays indented under h3 bubble) */
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + figure {
    margin: 0.85rem 0 1.5rem 0;
    text-align: center;
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + figure img {
    max-height: min(72vh, 640px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/* APK /install-apk/: optional .guide-img-center wrapper inside figure */
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + figure .guide-img-center {
    margin: 0;
    text-align: center;
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + figure .guide-img-center img {
    display: block !important;
    max-height: min(72vh, 640px) !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain;
    border-radius: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + .guide-img-center {
    margin: 0.85rem 0 1.5rem 0;
    text-align: center;
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + .guide-img-center img {
    display: block !important;
    max-height: min(72vh, 640px) !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain;
    border-radius: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.demo-pwa-ios-page .pwa-install-from-db > h3 + p + figure figcaption {
    margin-top: 0.5rem;
    color: #9aa4b2;
    font-size: 0.875rem;
    line-height: 1.45;
    text-align: center;
}
/* PWA step screenshots — portrait Safari captures; robust selectors (not only h3+p+figure) */
.demo-pwa-ios-page .pwa-install-from-db figure.pwa-ios-tour-fig,
.demo-pwa-ios-page .apk-install-from-db figure.pwa-ios-tour-fig,
.demo-pwa-ios-page .pwa-install-from-db figure.text-center.my-3,
.demo-pwa-ios-page .apk-install-from-db figure.text-center.my-3 {
    margin: 0.85rem auto 1.5rem;
    max-width: 100%;
    text-align: center;
}
.demo-pwa-ios-page .pwa-install-from-db figure.pwa-ios-tour-fig img,
.demo-pwa-ios-page .apk-install-from-db figure.pwa-ios-tour-fig img,
.demo-pwa-ios-page .pwa-install-from-db figure.text-center.my-3 img,
.demo-pwa-ios-page .apk-install-from-db figure.text-center.my-3 img {
    display: block !important;
    width: auto !important;
    max-width: min(100%, 18.5rem) !important;
    max-height: min(56vh, 480px) !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 767px) {
    .demo-pwa-ios-page .pwa-install-from-db figure.pwa-ios-tour-fig img,
    .demo-pwa-ios-page .apk-install-from-db figure.pwa-ios-tour-fig img,
    .demo-pwa-ios-page .pwa-install-from-db figure.text-center.my-3 img,
    .demo-pwa-ios-page .apk-install-from-db figure.text-center.my-3 img {
        max-width: min(100%, 16.5rem) !important;
        max-height: min(48vh, 400px) !important;
    }
}
/* /download/install-apk/ — step screenshots: varied width like Aviator (not one uniform size) */
.demo-pwa-ios-page .apk-install-from-db figure {
    margin: 0.85rem auto 1.35rem;
    max-width: 100%;
}
.demo-pwa-ios-page .apk-install-from-db figure .guide-img-center {
    margin: 0;
    display: inline-block;
    max-width: 100%;
}
.demo-pwa-ios-page .apk-install-from-db figure img[src*="step-1-download-apk"] {
    max-width: min(100%, 20.5rem) !important;
    max-height: min(70vh, 540px) !important;
}
.demo-pwa-ios-page .apk-install-from-db figure img[src*="step-2-unknown-sources"] {
    max-width: min(100%, 27rem) !important;
    max-height: min(56vh, 460px) !important;
}
.demo-pwa-ios-page .apk-install-from-db figure img[src*="step-3-install-open"] {
    max-width: min(100%, 19rem) !important;
    max-height: min(72vh, 580px) !important;
}
@media (min-width: 992px) {
    .demo-pwa-ios-page .apk-install-from-db figure img[src*="step-1-download-apk"] {
        max-width: min(100%, 22rem) !important;
    }
    .demo-pwa-ios-page .apk-install-from-db figure img[src*="step-2-unknown-sources"] {
        max-width: min(100%, 30rem) !important;
    }
    .demo-pwa-ios-page .apk-install-from-db figure img[src*="step-3-install-open"] {
        max-width: min(100%, 21rem) !important;
    }
}
/* Tips section (two h2 blocks after steps) */
.demo-pwa-ios-page .pwa-install-from-db > h2:nth-of-type(2),
.demo-pwa-ios-page .pwa-install-from-db > h2:nth-of-type(3) {
    margin: 1.75rem 0 0.75rem;
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
}
.demo-pwa-ios-page .pwa-install-from-db > h2:nth-of-type(2) + p,
.demo-pwa-ios-page .pwa-install-from-db > h2:nth-of-type(3) + p {
    margin: 0 0 0.2rem;
    line-height: 1.65;
    color: #b7c2cf;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 1rem 1.1rem;
    background: rgba(255, 255, 255, 0.03);
}
.demo-pwa-ios-page .pwa-install-from-db > p.mt-3 {
    /* final CTA line in canonical import */
    margin-top: 0.9rem;
    color: #dbe4ee;
    font-weight: 700;
}
/* APK install — prominent download CTA right under H1 */
.demo-pwa-ios-page .apk-install-from-db .apk-install-hero-cta,
.demo-pwa-ios-page .apk-install-from-db .apk-install-inline-cta {
    display: block;
    width: 100%;
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-hero-cta.main_btn,
.demo-pwa-ios-page .apk-install-from-db .apk-install-inline-cta.main_btn {
    width: 100%;
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-hero-cta {
    margin-top: 1.15rem;
    margin-bottom: 1.35rem;
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-inline-cta {
    max-width: 18rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-hero-cta a,
.demo-pwa-ios-page .apk-install-from-db .apk-install-inline-cta a {
    display: block;
    width: 100%;
    padding: 16px 28px;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: inherit;
    line-height: 1.2;
    text-align: center;
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-hero-cta a {
    padding: 18px 32px;
    font-size: clamp(1.05rem, 4.5vw, 1.25rem);
}
.demo-pwa-ios-page .apk-install-from-db .apk-install-inline-cta a {
    padding: 14px 22px;
    font-size: 1rem;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--inline-tour {
    border: 1px solid var(--pwa-trust-border);
    border-radius: 10px;
    padding: 1rem 1.1rem 1.15rem;
    background: linear-gradient(145deg, rgba(21, 27, 36, 0.98) 0%, rgba(15, 20, 25, 0.95) 100%);
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--inline-tour .pwa-ios-tour-start.main_btn {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 14px 22px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    border: 0;
    cursor: pointer;
    color: inherit;
    line-height: 1.2;
    text-align: center;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--inline-tour .pwa-ios-quick__sub {
    margin: 0.75rem 0 0;
    color: #c5ced8;
    font-size: 0.92rem;
    line-height: 1.5;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--finish {
    margin: 1.75rem 0 0;
    border: 1px solid var(--pwa-trust-border);
    border-radius: 12px;
    padding: 1.35rem 1.25rem 1.5rem;
    background: linear-gradient(145deg, rgba(21, 27, 36, 0.98) 0%, rgba(15, 20, 25, 0.95) 100%);
    text-align: center;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--finish .pwa-ios-quick__finish-body {
    opacity: 1;
    pointer-events: auto;
    filter: none;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--finish .apk-install-hero-cta {
    margin: 1rem auto 0;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--finish .pwa-ios-tour-start--finish {
    display: block;
    width: 100%;
    max-width: 18rem;
    margin: 1.15rem auto 0;
    padding: 14px 22px;
    font-size: 1rem;
}
.demo-pwa-ios-page .apk-install-from-db .pwa-ios-quick--finish .pwa-ios-quick__sub {
    margin: 0.75rem auto 0;
    max-width: 22rem;
    color: #c5ced8;
    font-size: 0.92rem;
    line-height: 1.5;
}
.demo-pwa-ios-page .pwa-install-from-db > h2:nth-of-type(3) + p + p {
    /* if there is no `.mt-3` class, the last line is the paragraph after the final tip */
    margin-top: 0.9rem;
    color: #dbe4ee;
    font-weight: 700;
}

.demo-ios-pwa-banner {
    font-size: 0.95rem;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    border: 1px solid var(--pwa-trust-border);
    background: rgba(21, 27, 36, 0.65);
}
.demo-ios-pwa-banner a {
    color: #f0f4f8;
    font-weight: 600;
    text-decoration: none;
}
.demo-ios-pwa-banner a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Shared Quick Access block for /demo/ and /download/ */
.demo-quick-access {
    margin: 2rem auto;
    padding: 1.65rem 1.5rem 1.75rem;
    border: 1px solid var(--pwa-trust-border);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(28, 68, 86, 0.55) 0%, rgba(10, 28, 36, 0.92) 100%);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    text-align: center;
}
.demo-quick-access__eyebrow {
    margin: 0 0 0.65rem;
    color: var(--cr-accent);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.demo-quick-access__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.5rem);
    line-height: 1.15;
    font-weight: 800;
}
.demo-quick-access__lead,
.demo-quick-access__note {
    max-width: 48rem;
    margin: 1rem auto 0;
    color: #d6dce4;
    font-size: 1rem;
    line-height: 1.65;
}
.demo-quick-access__actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
}
.demo-quick-access__primary,
.demo-quick-access__store {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.9rem 1.5rem;
    border-radius: var(--cr-btn-radius, 10px);
    clip-path: none;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.98rem;
    line-height: 1.2;
    position: relative;
    overflow: visible;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.demo-quick-access__primary {
    min-height: 3.75rem;
}
.demo-quick-access__primary::before,
.demo-quick-access__primary::after,
.demo-quick-access__store::before,
.demo-quick-access__store::after {
    display: none;
}
.demo-quick-access__primary {
    min-width: min(100%, 18rem);
    color: var(--cr-btn-text);
    background: var(--cr-btn-solid, #f0c96a);
    box-shadow: none;
}
.demo-quick-access__primary:hover,
.demo-quick-access__store:hover {
    transform: translateY(-1px);
    text-decoration: none;
}
.demo-quick-access__primary:hover {
    color: var(--cr-btn-text);
    background: var(--cr-btn-solid-hover, #ffe08a);
    box-shadow: none;
}
.demo-quick-access__stores {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 0.9rem;
    width: 100%;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}
.demo-quick-access__store {
    flex: 1 1 12.75rem;
    max-width: 17rem;
    min-width: min(100%, 12.75rem);
    min-height: 3rem;
    padding: 0.7rem 1.25rem;
    color: #fff;
    background: transparent;
    border: 1.5px solid var(--cr-btn-outline, #2a5a6a);
    box-shadow: none;
    text-align: center;
}
.demo-quick-access__store:hover {
    color: #fff;
    border-color: var(--cr-btn-solid, #f0c96a);
    background: transparent;
}
.demo-quick-access__store-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    max-width: 100%;
}
.demo-quick-access__store-text {
    display: inline;
    line-height: 1.2;
    white-space: nowrap;
}
.demo-quick-access__primary:focus,
.demo-quick-access__store:focus {
    outline: 2px solid rgba(255, 255, 255, 0.7);
    outline-offset: 3px;
}
.page-content-from-db .about_content .demo-quick-access {
    text-align: center;
}
.demo-quick-access__store-icon {
    flex: 0 0 auto !important;
    width: 1.65rem !important;
    height: 1.65rem !important;
    min-width: 1.65rem !important;
    min-height: 1.65rem !important;
    max-width: 1.65rem !important;
    max-height: 1.65rem !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: contain !important;
    align-self: center !important;
    filter: brightness(0) invert(1) !important;
}
.demo-quick-access__store-icon--google {
    width: 1.7rem !important;
    height: 1.7rem !important;
    min-width: 1.7rem !important;
    min-height: 1.7rem !important;
    max-width: 1.7rem !important;
    max-height: 1.7rem !important;
}
.page-content-from-db .demo-quick-access .demo-quick-access__store-icon {
    width: 1.65rem !important;
    height: 1.65rem !important;
    min-width: 1.65rem !important;
    min-height: 1.65rem !important;
    max-width: 1.65rem !important;
    max-height: 1.65rem !important;
    margin: 0 !important;
}
.page-content-from-db .demo-quick-access .demo-quick-access__store-icon--google {
    width: 1.7rem !important;
    height: 1.7rem !important;
    min-width: 1.7rem !important;
    min-height: 1.7rem !important;
    max-width: 1.7rem !important;
    max-height: 1.7rem !important;
}
.demo-quick-access--download {
    margin-top: 1.4rem;
}
.demo-quick-access--home {
    margin: 1rem 0 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}
.page-content-from-db .table .demo-quick-access__primary,
.page-content-from-db .demo-quick-access__primary {
    color: var(--cr-btn-text) !important;
}
.page-content-from-db .table .demo-quick-access__store,
.page-content-from-db .demo-quick-access__store {
    color: var(--cr-accent) !important;
}
.page-content-from-db .table .demo-quick-access__primary:hover,
.page-content-from-db .table .demo-quick-access__store:hover {
    color: var(--cr-btn-text) !important;
    text-decoration: none;
}
.demo-preview-strip {
    margin: 0 auto 2rem;
}
.demo-preview-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}
.demo-preview-card {
    padding: 0.9rem;
    border: 1px solid rgba(232, 184, 74, 0.4);
    border-radius: 22px;
    background: rgba(42, 90, 106, 0.22);
    box-shadow: inset 0 1px 0 rgba(232, 184, 74, 0.08);
}
.demo-preview-card__image {
    margin-bottom: 0.85rem;
    overflow: hidden;
    border-radius: 16px;
    background: #2a2c30;
}
.demo-preview-card__image img,
.demo-preview-card__img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 10.5rem;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
}
.demo-preview-card__label {
    margin: 0;
    text-align: center;
    color: var(--cr-accent);
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    font-weight: 800;
    line-height: 1.1;
}
@media (min-width: 768px) {
    .demo-quick-access__actions {
        gap: 1.1rem;
    }
    .demo-quick-access__stores {
        width: auto;
    }
}

/* === DB content global cleanup: styles moved from inline HTML === */

.page-content-from-db .about_content p {
    font-size: 20px;
    line-height: 1.6;
}

/* Normal text lists inside DB content */
.page-content-from-db .about_content ul {
    list-style: disc;
    padding-left: 1.4em;
    margin: 0 0 1.2em 0;
}

.page-content-from-db .about_content ol {
    list-style: decimal;
    padding-left: 1.4em;
    margin: 0 0 1.2em 0;
}

.page-content-from-db .about_content ul li,
.page-content-from-db .about_content ol li {
    font-size: 20px;
    line-height: 1.6;
    display: list-item;
    list-style-position: outside;
    margin: 0 0 .4em 0;
    padding: 0;
    gap: 0;
    color: var(--cr-text);
    font-weight: 400;
}

.page-content-from-db .about_content ul li {
    list-style-type: disc;
}

.page-content-from-db .about_content ol li {
    list-style-type: decimal;
}

/* Keep special image-list blocks untouched */
.page-content-from-db .about_content ul:has(.section-media__figure) {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}

.page-content-from-db .about_content ul:has(.section-media__figure) li {
    display: block;
    margin: 0;
    padding: 0;
    gap: 0;
    font-size: inherit;
    font-weight: 600;
    color: var(--cr-text);
    list-style: none;
}

/* Section figures moved from inline styles */
.page-content-from-db .section-media__figure,
.page-content-from-db .about_content > figure {
    width: 100%;
    max-width: 768px;
    margin: 1.5rem auto;
    overflow: hidden;
    border-radius: 10px;
    text-align: center;
}

/* Large article/media images */
.page-content-from-db .section-media__figure img:not(.home-img),
.page-content-from-db .about_content > figure > img:not(.home-img) {
    width: 100% !important;
    max-width: 100% !important;
    height: 340px !important;
    object-fit: cover !important;
    object-position: center 35% !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 8px;
}

/* Step cards images */
.page-content-from-db .steps_box {
    overflow: hidden;
    border-radius: 10px;
}

.page-content-from-db .steps_box img {
    width: 100% !important;
    max-width: 100% !important;
    height: 190px !important;
    object-fit: cover !important;
    object-position: left center !important;
    display: block !important;
    margin-bottom: 1rem !important;
}

/* Step text can stay slightly smaller if site style already expects it */
.page-content-from-db .steps_content p {
    font-size: 20px;
    line-height: 1.6;
}

/* Tables: keep Bootstrap/site table styling, only normalize text size */
.page-content-from-db .table-responsive {
    width: 100%;
}

.page-content-from-db .table th,
.page-content-from-db .table td {
    font-size: 16px;
    line-height: 1.5;
}

/* CTA wrapper when used inside DB content */
.page-content-from-db .main_btn {
    display: flex;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.page-content-from-db .main_btn a {
    display: inline-flex;
    width: auto;
}

/* FAQ accordion — Download mockup look on every page (beats .about_content p / leftover inline) */
.page-content-from-db .faq-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.page-content-from-db .faq-item,
.page-content-from-db .about_content .faq-item,
.page-content-from-db #faq .faq-item {
    background: #153544 !important;
    border: 1px solid #2a5a6a !important;
    border-radius: 12px !important;
    padding: 1rem 1.2rem !important;
    margin-bottom: 0 !important;
}

.page-content-from-db .faq-item summary,
.page-content-from-db .about_content .faq-item summary,
.page-content-from-db #faq .faq-item summary {
    cursor: pointer;
    font-weight: 800 !important;
    font-size: 1rem !important;
    color: #fff !important;
    list-style: none;
    padding: 0 !important;
}

.page-content-from-db .faq-item summary::-webkit-details-marker,
.page-content-from-db .faq-item summary::marker {
    display: none;
    content: "";
}

.page-content-from-db .faq-item summary::before {
    content: "▼ ";
    color: var(--cr-accent-hover, #f0c96a);
    font-size: 0.75rem;
}

.page-content-from-db .faq-item p,
.page-content-from-db .about_content .faq-item p,
.page-content-from-db #faq .about_content .faq-item p,
.page-content-from-db #faq .faq-item p {
    margin: 0.7rem 0 0 !important;
    font-size: 0.93rem !important;
    line-height: 1.65 !important;
    color: #c5d9d6 !important;
    padding-bottom: 0 !important;
}

/* Download page — contractor mockup (Pick Your Device + callouts) */
.page-content-from-db .page-lead {
    font-size: 1.05rem;
    color: #c5d9d6;
    max-width: 68ch;
    line-height: 1.65;
    margin: 0 0 1.15rem;
}

.page-content-from-db #what > .page-lead {
    margin: 0.15rem 0 1.25rem;
    max-width: none;
    width: 100%;
}

.page-content-from-db .page-trust-strip {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 1.6rem 0 0;
    padding: 0.85rem 1.1rem;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 10px;
    font-size: 0.9rem;
    color: #c5d9d6;
}

.page-content-from-db .page-ico {
    display: inline-flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(232, 184, 74, 0.14);
    border: 1px solid rgba(232, 184, 74, 0.45);
    color: var(--cr-accent);
}

.page-content-from-db .page-ico i {
    font-size: 16px;
    line-height: 1;
    color: var(--cr-accent);
}

.page-content-from-db .page-trust-strip b,
.page-content-from-db .page-trust-strip strong {
    color: #fff;
}

.page-content-from-db .page-download-section,
.page-content-from-db .page-demo-section {
    margin-top: 3rem;
}

.page-content-from-db .page-download-section--routes {
    margin-top: 1.1rem;
    margin-bottom: 0.35rem;
}

.page-content-from-db .page-download-section--routes > h2 {
    margin: 0 0 0.95rem;
    font-size: 1.15rem;
}

.page-content-from-db .page-device-tabs {
    display: none !important;
}

.page-content-from-db .page-device-routes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    /* Room for the overlapping YOUR DEVICE badge — avoids “glued to H2” look */
    padding-top: 0.55rem;
}

.page-content-from-db .page-device-route {
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 12px;
    padding: 0.95rem 0.9rem 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.page-content-from-db .page-device-route.is-you {
    border-color: var(--cr-accent-hover, #f0c96a);
    box-shadow: 0 0 0 1px var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-device-route__you {
    position: absolute;
    top: -0.55rem;
    left: 0.85rem;
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    z-index: 1;
    line-height: 1.2;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.page-content-from-db .page-device-route__k {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #c5d9d6;
    margin: 0.55rem 0 0.35rem;
}

.page-content-from-db .page-device-route h3 {
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0 0 0.4rem;
    color: #fff;
}

.page-content-from-db .page-device-route dl {
    margin: 0.55rem 0 0;
    font-size: 0.86rem;
}

.page-content-from-db .page-device-route dt {
    color: #c5d9d6;
    float: left;
    clear: left;
    width: 78px;
}

.page-content-from-db .page-device-route dd {
    margin: 0 0 0.35rem 84px;
    color: #fff;
    font-weight: 700;
}

.page-content-from-db a.page-device-go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0;
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24 !important;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 0.98rem;
    padding: 0.9rem 1.5rem;
    min-height: 44px;
    border-radius: var(--cr-btn-radius, 10px);
    box-sizing: border-box;
}

.page-content-from-db .page-device-route .page-device-go--primary {
    width: 100%;
    margin-top: 0.15rem;
    font-size: 0.92rem;
    padding: 0.7rem 0.85rem;
    min-height: 46px;
    border-radius: 9px;
    background: transparent;
    color: #fff !important;
    border: 1.5px solid #3A4A8F;
}

.page-content-from-db .page-device-route .page-device-go--primary i {
    font-size: 1.15rem;
    line-height: 1;
}

.page-content-from-db .page-device-route.is-you .page-device-go--primary {
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24 !important;
    border-color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-device-route .page-device-go--guide {
    display: inline-flex;
    margin-top: 0.75rem;
    font-size: 0.86rem;
    padding: 0.55rem 1rem;
    border-radius: 9px;
    min-height: 0;
}

.page-content-from-db .page-device-more {
    margin: 0;
}

.page-content-from-db .page-device-more > summary {
    list-style: none;
    cursor: pointer;
    color: #9AA3D0;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.15rem 0;
    user-select: none;
}

.page-content-from-db .page-device-more > summary::-webkit-details-marker {
    display: none;
}

.page-content-from-db .page-device-more > summary::after {
    content: " ▾";
    font-size: 0.7em;
    opacity: 0.8;
}

.page-content-from-db .page-device-more[open] > summary::after {
    content: " ▴";
}

.page-content-from-db .page-device-more > summary:hover {
    color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .demo-quick-access__routes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-start;
    margin-top: 0;
    width: 100%;
}

.page-content-from-db .page-device-route .page-device-note {
    margin: 0.8rem 0 0;
    font-size: 0.8rem;
    color: #FB923C;
    line-height: 1.5;
}

.page-content-from-db .page-callout {
    display: flex;
    gap: 1rem;
    margin-top: 1.4rem;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-left: 4px solid var(--cr-accent-hover, #f0c96a);
    border-radius: 12px;
    padding: 1.2rem 1.3rem;
}

.page-content-from-db .page-callout--warn {
    border-left-color: #FB923C;
}

.page-content-from-db .page-callout .page-ico {
    margin-top: 0.1rem;
}

.page-content-from-db .page-callout b,
.page-content-from-db .page-callout strong {
    display: block;
    margin-bottom: 0.35rem;
    color: #fff;
}

.page-content-from-db .page-callout p {
    margin: 0;
    font-size: 0.93rem;
    color: #c5d9d6;
}

.page-content-from-db .page-callout > span:last-child {
    font-size: 0.93rem;
    color: #c5d9d6;
    line-height: 1.65;
}

.page-content-from-db .page-callout > span:last-child strong,
.page-content-from-db .page-callout > span:last-child b {
    display: block;
    margin-bottom: 0.35rem;
    color: #fff;
}

.page-content-from-db .page-spec-table-wrap {
    overflow-x: auto;
    margin-top: 1.1rem;
}

.page-content-from-db .page-spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
    min-width: 560px;
}

.page-content-from-db .page-spec-table th,
.page-content-from-db .page-spec-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid #2a5a6a;
    vertical-align: top;
    color: #c5d9d6;
}

.page-content-from-db .page-spec-table thead th {
    background: #2a5a6a;
    color: #fff;
    font-weight: 800;
    border-bottom: 0;
}

.page-content-from-db .page-spec-table td:first-child {
    font-weight: 700;
    color: #fff;
}

.page-content-from-db .page-spec-table tbody tr:nth-child(even) {
    background: rgba(36, 44, 90, 0.5);
}

.page-content-from-db .page-steps-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.2rem;
}

.page-content-from-db .page-step-card {
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    padding: 1.3rem;
}

.page-content-from-db .page-step-card h3 {
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0 0 0.4rem;
    color: #fff;
}

.page-content-from-db .page-step-card ol {
    margin: 0.7rem 0 0;
    padding-left: 1.2rem;
    color: #c5d9d6;
}

.page-content-from-db .page-step-card li {
    margin-bottom: 0.5rem;
    line-height: 1.55;
}

.page-content-from-db .page-operator-picks {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-top: 1.2rem;
}

.page-content-from-db a.page-operator-card {
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    text-decoration: none !important;
    display: block;
    color: #c5d9d6 !important;
}

.page-content-from-db a.page-operator-card:hover {
    border-color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-operator-card__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.page-content-from-db .page-operator-card__name {
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
}

.page-content-from-db .page-tag {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.25rem 0.5rem;
    border-radius: 5px;
    background: rgba(255, 221, 38, 0.12);
    color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-operator-card p {
    margin: 0;
    font-size: 0.88rem;
    color: #c5d9d6;
}

@media (max-width: 820px) {
    .page-content-from-db .page-device-routes {
        grid-template-columns: 1fr;
        gap: 0.65rem;
    }

    .page-content-from-db .page-steps-grid {
        grid-template-columns: 1fr;
    }

    .page-content-from-db .page-download-section--routes {
        margin-top: 0.85rem;
        margin-bottom: 0.25rem;
    }

    .page-content-from-db .page-device-route {
        padding: 0.9rem 0.8rem 0.7rem;
    }

    .page-content-from-db .page-trust-strip {
        margin-top: 1.35rem;
    }
}

/* Demo page — contractor mockup (iframe + stats + chart) */
.page-content-from-db .page-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.4rem;
}

.page-content-from-db a.page-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.5rem;
    border-radius: 10px;
    font-weight: 800;
    text-decoration: none !important;
    font-size: 0.98rem;
}

.page-content-from-db a.page-btn--p {
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24 !important;
}

.page-content-from-db a.page-btn--s {
    background: transparent;
    color: #fff !important;
    border: 1.5px solid #2a5a6a;
}

.page-content-from-db a.page-btn--s:hover {
    border-color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-game {
    margin-top: 1.6rem;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 18px;
    padding: 12px;
}

.page-content-from-db .page-game__frame {
    position: relative;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
    overflow: hidden;
    background: #0e1330;
}

.page-content-from-db .page-game__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.page-content-from-db .page-game__note {
    margin: 0.8rem 4px 0;
    font-size: 0.85rem;
    color: #c5d9d6;
}

/* /demo/ hub: no InOut iframe — big Open Demo → /demo/app/ (first after H1) */
.page-content-from-db .page-game--launch {
    margin-top: 0.85rem;
    margin-bottom: 1.25rem;
    padding: 0;
    overflow: hidden;
    background:
        radial-gradient(ellipse 80% 70% at 50% 40%, rgba(253, 182, 20, 0.22), transparent 60%),
        linear-gradient(160deg, #1a2148 0%, #0e1330 55%, #1b1430 100%);
    border-color: color-mix(in srgb, var(--cr-accent-hover, #f0c96a) 35%, #2a5a6a);
}

.page-content-from-db h1 + .page-game--launch {
    margin-top: 0.75rem;
}

.page-content-from-db .page-game--launch + .page-lead {
    margin-top: 0.35rem;
}

.page-content-from-db a.page-game__open {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: clamp(220px, 42vw, 360px);
    padding: 2rem 1.25rem;
    text-decoration: none !important;
    color: #0a1c24 !important;
    text-align: center;
}

.page-content-from-db .page-game__open-glow {
    position: absolute;
    width: min(280px, 70%);
    height: min(280px, 70%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 221, 38, 0.35), transparent 68%);
    pointer-events: none;
    animation: page-game-open-pulse 2.4s ease-in-out infinite;
}

.page-content-from-db .page-game__open-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24;
    font-size: 1.65rem;
    box-shadow: 0 10px 28px rgba(253, 182, 20, 0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-content-from-db a.page-game__open:hover .page-game__open-icon,
.page-content-from-db a.page-game__open:focus-visible .page-game__open-icon {
    transform: scale(1.08);
    box-shadow: 0 14px 36px rgba(253, 182, 20, 0.6);
}

.page-content-from-db .page-game__open-text {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: center;
}

.page-content-from-db .page-game__open-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(280px, 86vw);
    padding: 0.95rem 1.75rem;
    border-radius: 12px;
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24;
    font-size: clamp(1.15rem, 3.2vw, 1.45rem);
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    transition: filter 0.15s ease, transform 0.15s ease;
}

.page-content-from-db a.page-game__open:hover .page-game__open-label,
.page-content-from-db a.page-game__open:focus-visible .page-game__open-label {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.page-content-from-db .page-game__open-hint {
    color: #c5d9d6;
    font-size: 0.9rem;
    font-weight: 600;
}

@keyframes page-game-open-pulse {
    0%, 100% { opacity: 0.55; transform: scale(0.92); }
    50% { opacity: 1; transform: scale(1.05); }
}

@media (prefers-reduced-motion: reduce) {
    .page-content-from-db .page-game__open-glow {
        animation: none;
    }
}

.page-content-from-db .page-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.6rem;
}

.page-content-from-db .page-stat {
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    padding: 1.3rem;
}

.page-content-from-db .page-stat b {
    display: block;
    font-size: 2rem;
    font-weight: 900;
    color: var(--cr-accent-hover, #f0c96a);
    line-height: 1;
}

.page-content-from-db .page-stat span {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #c5d9d6;
}

.page-content-from-db .page-game-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}

.page-content-from-db a.page-game-card {
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    padding: 1.2rem;
    text-decoration: none !important;
    display: block;
    color: #c5d9d6 !important;
}

.page-content-from-db a.page-game-card:hover {
    border-color: var(--cr-accent-hover, #f0c96a);
}

.page-content-from-db .page-game-card b {
    display: block;
    font-size: 1.1rem;
    color: #fff;
    margin: 0.5rem 0;
}

.page-content-from-db .page-game-card .page-tag {
    margin-bottom: 0.1rem;
}

.page-content-from-db .page-game-card__m {
    display: block;
    font-size: 0.88rem;
    color: #c5d9d6;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.page-content-from-db .page-game-card__go {
    display: block;
    margin-top: 0.7rem;
    font-size: 0.85rem;
    color: var(--cr-accent-hover, #f0c96a);
    font-weight: 700;
}

.page-content-from-db .page-list {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
    color: #c5d9d6;
}

.page-content-from-db .page-list li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.page-content-from-db .page-mchart {
    --s1: #199e70;
    --s2: #4a94ea;
    --s3: #d95926;
    --s4: #b06fe8;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 16px;
    padding: 1.4rem;
    color: #fff;
    margin-top: 1.2rem;
}

.page-content-from-db .page-mchart__head {
    margin-bottom: 1rem;
}

.page-content-from-db .page-mchart__head h3 {
    margin: 0 0 0.3rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
}

.page-content-from-db .page-mchart__head p {
    margin: 0;
    font-size: 0.88rem;
    color: #c5d9d6;
    line-height: 1.55;
}

.page-content-from-db .page-mchart__ctl {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.page-content-from-db .page-mchart__seg {
    display: inline-flex;
    background: #0a1c24;
    border: 1px solid #2a5a6a;
    border-radius: 9px;
    padding: 3px;
}

.page-content-from-db .page-mchart__seg button {
    background: none;
    border: 0;
    color: #c5d9d6;
    font: inherit;
    font-size: 0.83rem;
    font-weight: 700;
    padding: 0.42rem 0.85rem;
    border-radius: 6px;
    cursor: pointer;
}

.page-content-from-db .page-mchart__seg button[aria-pressed="true"] {
    background: var(--cr-accent-hover, #f0c96a);
    color: #0a1c24;
}

.page-content-from-db .page-mchart__plot {
    position: relative;
    width: 100%;
}

.page-content-from-db .page-mchart svg {
    display: block;
    width: 100%;
    height: auto;
    touch-action: none;
}

.page-content-from-db .page-mchart .grid,
.page-content-from-db .page-mchart .axis {
    stroke: #2a5a6a;
    stroke-width: 1;
}

.page-content-from-db .page-mchart .tick,
.page-content-from-db .page-mchart .alab {
    fill: #c5d9d6;
    font-size: 11px;
}

.page-content-from-db .page-mchart .alab {
    font-weight: 700;
    letter-spacing: 0.03em;
}

.page-content-from-db .page-mchart .ln {
    fill: none;
    stroke-width: 2;
    stroke-linejoin: round;
    stroke-linecap: round;
}

.page-content-from-db .page-mchart .dot {
    stroke: #153544;
    stroke-width: 2;
}

.page-content-from-db .page-mchart .dlab {
    font-size: 11px;
    font-weight: 800;
}

.page-content-from-db .page-mchart .cross {
    stroke: var(--cr-accent-hover, #f0c96a);
    stroke-width: 1;
    stroke-dasharray: 3 3;
}

.page-content-from-db .page-mchart__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.9rem;
}

.page-content-from-db .page-mchart__legend button {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: #0a1c24;
    border: 1px solid #2a5a6a;
    border-radius: 8px;
    padding: 0.4rem 0.7rem;
    color: #c5d9d6;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.page-content-from-db .page-mchart__legend button[aria-pressed="false"] {
    opacity: 0.4;
}

.page-content-from-db .page-mchart__legend i {
    width: 11px;
    height: 11px;
    border-radius: 3px;
    display: inline-block;
}

.page-content-from-db .page-mchart__tip {
    position: absolute;
    pointer-events: none;
    background: #0a1c24;
    border: 1px solid #2a5a6a;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    font-size: 0.82rem;
    min-width: 150px;
    opacity: 0;
    transition: opacity 0.12s;
    z-index: 3;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.page-content-from-db .page-mchart__tip b {
    display: block;
    color: var(--cr-accent-hover, #f0c96a);
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
}

.page-content-from-db .page-mchart__tip div {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.2rem 0;
    color: #c5d9d6;
}

.page-content-from-db .page-mchart__tip i {
    width: 9px;
    height: 9px;
    border-radius: 2px;
    flex: 0 0 auto;
}

.page-content-from-db .page-mchart__tip s {
    margin-left: auto;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.page-content-from-db .page-mchart__note {
    margin-top: 0.9rem;
    font-size: 0.8rem;
    color: #c5d9d6;
    line-height: 1.55;
}

.page-content-from-db .page-mchart details {
    margin-top: 0.9rem;
}

.page-content-from-db .page-mchart summary {
    cursor: pointer;
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--cr-accent-hover, #f0c96a);
}

@media (max-width: 760px) {
    .page-content-from-db .page-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .page-content-from-db .page-mchart {
        padding: 1rem;
    }
    .page-content-from-db .page-mchart .dlab {
        display: none;
    }
}

/* Homepage sections — same rhythm as download/demo (flat sections, card tiles inside) */
.page-content-from-db .home-panel,
.page-content-from-db .home-panel--bar,
.page-content-from-db .page-download-section {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 3rem 0 0;
}

.page-content-from-db .page-download-section:first-child,
.page-content-from-db .home-panel:first-child {
    margin-top: 0;
}

.page-content-from-db .page-download-section .main_heading,
.page-content-from-db .home-panel .main_heading {
    margin-bottom: 1.25rem;
}

.page-content-from-db .page-download-section .main_heading h2,
.page-content-from-db .page-download-section > h2,
.page-content-from-db .home-panel .main_heading h2 {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 0.5rem;
    color: #fff;
}

.page-content-from-db .page-download-section .about_content,
.page-content-from-db .home-panel .about_content {
    display: block;
}

.page-content-from-db #batting.page-download-section .about_content,
.page-content-from-db #batting.home-panel .about_content {
    display: block;
}

/* Legacy alias — same as page-callout */
.page-content-from-db .home-callout {
    display: flex;
    gap: 1rem;
    margin-top: 1.4rem;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-left: 4px solid var(--cr-accent-hover, #f0c96a);
    border-radius: 12px;
    padding: 1.2rem 1.3rem;
}

.page-content-from-db .home-callout p {
    margin: 0;
    font-size: 0.93rem;
    color: #c5d9d6;
}

.page-content-from-db .home-callout strong {
    display: block;
    margin-bottom: 0.35rem;
    color: #fff;
}

.page-content-from-db .home-scheme-table,
.page-content-from-db .home-scheme-table.table {
    width: 100%;
    margin: 0 0 1rem;
    background: transparent;
    border: 0;
    color: inherit;
    border-collapse: separate;
    border-spacing: 12px;
}

.page-content-from-db .home-scheme-table > :not(caption) > * > * {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.page-content-from-db .home-scheme-table th,
.page-content-from-db .home-scheme-table td {
    background: transparent;
    border: 0;
    color: inherit;
    vertical-align: top;
    padding: 12px;
}

.page-content-from-db .home-scheme-table .main_btn,
.page-content-from-db .home-panel .main_btn,
.page-content-from-db .home-cta-table .main_btn,
.page-content-from-db .home-casino-table__cta .main_btn,
.page-content-from-db .home-game-card .main_btn {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    height: auto !important;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.page-content-from-db .home-panel .main_btn a,
.page-content-from-db .home-scheme-table .main_btn a,
.page-content-from-db .table .main_btn a,
.hero_content__ctas .main_btn:first-child a {
    color: var(--cr-btn-text) !important;
}

.page-content-from-db .home-panel .main_btn a:hover,
.page-content-from-db .home-scheme-table .main_btn a:hover,
.page-content-from-db .table .main_btn a:hover,
.hero_content__ctas .main_btn:first-child a:hover {
    color: var(--cr-btn-text) !important;
}

.page-content-from-db .home-panel .main_btn a,
.page-content-from-db .home-scheme-table .main_btn a {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    align-self: center;
    min-height: 44px;
    height: auto !important;
    max-height: none;
    padding: 0.9rem 1.5rem;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    text-transform: none;
}

.page-content-from-db .home-store-icon,
.page-content-from-db #batting .home-store-icon,
#batting .about_content img.home-store-icon {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    display: inline-block !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
    flex: 0 0 16px;
    align-self: center !important;
}

.page-content-from-db .home-stats-table,
.page-content-from-db .home-games-table,
.page-content-from-db .home-cta-table {
    display: grid;
    gap: 8px;
    width: 100%;
    margin: 0 0 1rem;
    background: transparent;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    align-items: center;
    align-content: start;
    justify-items: center;
    justify-content: center;
}

.page-content-from-db .home-stats-table {
    grid-template-columns: 1fr 1fr;
}

.page-content-from-db .home-games-table,
.page-content-from-db .home-cta-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Catalog cards: equal columns + equal row height (don't center-shrink like stats/cta). */
.page-content-from-db .home-games-table {
    align-items: stretch;
    justify-items: stretch;
}

.page-content-from-db .home-stats-table > tbody,
.page-content-from-db .home-games-table > tbody,
.page-content-from-db .home-cta-table > tbody,
.page-content-from-db .home-stats-table tr,
.page-content-from-db .home-games-table tr,
.page-content-from-db .home-cta-table tr {
    display: contents;
}

.page-content-from-db .home-stats-table td {
    display: block;
    width: auto;
    padding: 1rem 1.1rem;
    background: #153544 !important;
    border: 1px solid #2a5a6a !important;
    border-radius: 14px;
    text-align: center;
}

.page-content-from-db .home-games-table td {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
}

.page-content-from-db .home-cta-table td {
    display: flex;
    width: auto;
    padding: 0;
    justify-content: center;
    align-items: center;
}

.page-content-from-db .home-stats-table h3 {
    color: var(--cr-accent);
    margin: 0 0 0.35rem;
    font-size: 16px;
}

.page-content-from-db .home-stats-table p {
    margin: 0;
    font-size: 14px;
}

.page-content-from-db .home-facts-table {
    width: 100%;
    margin: 0.5rem 0 0;
}

.page-content-from-db .home-facts-table .table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.page-content-from-db .home-facts-table .table th,
.page-content-from-db .home-facts-table .table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid #2a5a6a;
    vertical-align: top;
    color: #c5d9d6;
}

.page-content-from-db .home-facts-table .table thead th {
    background: #2a5a6a;
    color: #fff;
    font-weight: 800;
    border-bottom: 0;
}

.page-content-from-db .home-facts-table .table tbody tr:nth-child(even) {
    background: rgba(21, 53, 68, 0.55);
}

/* Series compare accordion (Big Bass #game-facts) */
.page-content-from-db .series-compare {
    margin: 0.75rem 0 1.1rem;
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    background: #153544;
    overflow: hidden;
}

.page-content-from-db .series-compare--card .series-compare__head {
    padding: 0.95rem 1.15rem 0.55rem;
}

.page-content-from-db .series-compare__heading {
    display: block;
    font-weight: 800;
    color: var(--cr-accent);
    font-size: 1.05rem;
}

.page-content-from-db .series-compare__sub {
    display: block;
    margin-top: 0.25rem;
    color: var(--cr-text-muted);
    font-size: 0.88rem;
    line-height: 1.4;
}

.page-content-from-db .series-compare__list {
    padding: 0.35rem 0.6rem 0.75rem;
}

.page-content-from-db .series-compare__list--rest {
    padding-top: 0;
}

.page-content-from-db .series-compare__more {
    border-top: 1px solid rgba(197, 217, 214, 0.14);
}

.page-content-from-db .series-compare__more-toggle {
    display: block;
    cursor: pointer;
    list-style: none;
    padding: 0.85rem 1.15rem;
    font-weight: 800;
    color: var(--cr-accent);
    background: rgba(42, 90, 106, 0.28);
}

.page-content-from-db .series-compare__more-toggle::-webkit-details-marker {
    display: none;
}

.page-content-from-db .series-compare__more-toggle::after {
    content: "+";
    float: right;
    color: var(--cr-text-muted);
    font-weight: 700;
}

.page-content-from-db .series-compare__more[open] > .series-compare__more-toggle::after {
    content: "–";
}

.page-content-from-db .series-compare__item {
    margin: 0.4rem 0;
    border: 1px solid rgba(197, 217, 214, 0.16);
    border-radius: 12px;
    background: rgba(10, 28, 36, 0.45);
    overflow: hidden;
}

.page-content-from-db .series-compare__summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.25rem 0.75rem;
    cursor: pointer;
    list-style: none;
    padding: 0.8rem 0.95rem;
    color: var(--cr-text);
}

.page-content-from-db .series-compare__summary::-webkit-details-marker {
    display: none;
}

.page-content-from-db .series-compare__title {
    font-weight: 800;
    color: #fff;
}

.page-content-from-db .series-compare__type,
.page-content-from-db .series-compare__tax {
    display: inline-block;
    width: fit-content;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(232, 184, 74, 0.35);
    background: rgba(232, 184, 74, 0.1);
    color: var(--cr-accent);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.35;
}

.page-content-from-db .series-compare__tax {
    border-color: rgba(197, 217, 214, 0.28);
    background: rgba(42, 90, 106, 0.35);
    color: var(--cr-text);
    font-weight: 600;
}

.page-content-from-db .series-compare__why {
    color: var(--cr-text-muted);
    font-size: 0.9rem;
    line-height: 1.4;
}

.page-content-from-db .series-compare__panel {
    padding: 0 0.85rem 0.9rem;
}

.page-content-from-db .series-compare__panel .home-facts-table {
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.page-content-from-db .series-compare__cta {
    margin: 0.65rem 0 0;
}

.page-content-from-db .series-compare__cta a {
    color: var(--cr-accent) !important;
    font-weight: 700;
}

@media (min-width: 768px) {
    .page-content-from-db .series-compare__summary {
        grid-template-columns: minmax(180px, 1.2fr) auto auto minmax(200px, 1.4fr);
        align-items: center;
    }

    .page-content-from-db .series-compare__why {
        text-align: right;
    }
}

.page-content-from-db .home-facts-table td:first-child,
.page-content-from-db .home-facts-table th:first-child {
    width: 32%;
    font-weight: 700;
}

.page-content-from-db .home-split-table,
.page-content-from-db .home-split-table tbody,
.page-content-from-db .home-split-table tr,
.page-content-from-db .home-split-table td {
    display: block;
    width: 100%;
}

.page-content-from-db .home-split-table td {
    padding: 0 0 12px;
}

.page-content-from-db .home-media {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1rem 0 0;
    overflow: hidden;
    border-radius: 12px;
    line-height: 0;
}

.page-content-from-db .home-media--wide {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.page-content-from-db .home-split-table__media .home-media {
    margin: 0;
}

.page-content-from-db .home-media img,
.page-content-from-db .home-img {
    display: block !important;
    margin: 0 !important;
}

.page-content-from-db .home-media img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Square lobby tiles: cap height without forcing width:100% (that stretched them). */
.page-content-from-db .home-media--wide img {
    max-height: 280px !important;
}

.page-content-from-db .home-media--split img,
.page-content-from-db .home-media--mobile img {
    max-height: 220px !important;
}

/* Demo hub filter — minimal field + lupa (also for APK picker later) */
.page-content-from-db .demo-hub-search {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem;
    padding: 0.7rem 0.95rem;
    background: var(--cr-surface);
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    box-sizing: border-box;
}

.page-content-from-db .demo-hub-search:focus-within {
    border-color: rgba(232, 184, 74, 0.55);
}

.page-content-from-db .demo-hub-search__ico {
    flex: 0 0 auto;
    color: var(--cr-text-muted);
    font-size: 0.95rem;
    line-height: 1;
}

.page-content-from-db .demo-hub-search__input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--cr-text-light);
    font-size: 0.98rem;
    line-height: 1.35;
    -webkit-appearance: none;
    appearance: none;
}

.page-content-from-db .demo-hub-search__input::placeholder {
    color: var(--cr-text-muted);
    opacity: 1;
}

.page-content-from-db .demo-hub-search__input::-webkit-search-decoration,
.page-content-from-db .demo-hub-search__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.page-content-from-db .demo-hub-search__empty {
    margin: 0 0 1rem;
    color: var(--cr-text-muted);
    font-size: 0.95rem;
}

.page-content-from-db .home-games-table td:empty,
.page-content-from-db .home-games-table td.is-demo-hub-hidden {
    display: none !important;
}

.page-content-from-db .home-game-card {
    height: 100%;
    text-align: left;
    background: #153544;
    border: 1px solid #2a5a6a;
    border-radius: 14px;
    padding: 1rem 1.1rem;
    overflow: hidden;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.page-content-from-db .home-game-card .main_btn {
    margin-top: auto;
}

.page-content-from-db .home-game-card img,
.page-content-from-db .home-game-card img.home-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 0 0.65rem !important;
    border-radius: 10px !important;
    background: #0a1c24;
    flex: 0 0 auto;
}

.page-content-from-db .home-game-card .steps_content {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    overflow: hidden;
}

.page-content-from-db .home-game-card h3 {
    font-size: 15px;
    margin: 0 0 0.3rem;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.page-content-from-db .home-game-card .steps_content p {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Casino / scheme tables: no outer light frame — cards carry their own lake border */
.page-content-from-db .about_content .table-responsive:has(.home-casino-table),
.page-content-from-db .about_content .table-responsive:has(.home-games-table),
.page-content-from-db .about_content .table-responsive:has(.home-guides-table) {
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.page-content-from-db .home-casino-table,
.page-content-from-db .home-casino-table tbody,
.page-content-from-db .home-casino-table tr,
.page-content-from-db .home-casino-table td,
.page-content-from-db .home-casino-table th {
    display: block;
    width: 100%;
}

.page-content-from-db .home-casino-table__block {
    display: block;
    margin: 0 0 12px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #2a5a6a;
    background: #153544;
}

.page-content-from-db .home-casino-table__block td,
.page-content-from-db .home-casino-table__block th {
    background: transparent !important;
}

.page-content-from-db .home-casino-table__logo {
    width: auto;
    min-width: 0;
    border-radius: 0;
    border-left: 0 !important;
}

.page-content-from-db .home-casino-table__logo img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.page-content-from-db .home-casino-table__name,
.page-content-from-db .table th.home-casino-table__name {
    color: var(--cr-accent) !important;
    font-size: 18px;
    font-weight: 800;
    white-space: normal;
    text-align: center;
    vertical-align: middle;
}

.page-content-from-db .home-casino-table__badges {
    color: var(--cr-accent);
    text-align: center;
    vertical-align: middle;
}

.page-content-from-db .home-casino-badges {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.page-content-from-db .home-casino-badge {
    position: relative;
    display: inline-flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(232, 184, 74, 0.14);
    border: 1px solid rgba(232, 184, 74, 0.45);
    color: var(--cr-accent);
    cursor: help;
}

.page-content-from-db .home-casino-badge i {
    font-size: 16px;
    line-height: 1;
    color: var(--cr-accent);
}

.page-content-from-db .home-casino-badge__text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.page-content-from-db .home-casino-table__copy {
    vertical-align: top;
}

.page-content-from-db .home-casino-table__copy p {
    margin: 0;
    font-size: 15px;
}

.page-content-from-db .home-casino-table__cta {
    width: auto;
    border-radius: 0;
    border-right: 0 !important;
    padding: 10px 12px 12px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.page-content-from-db .home-cta-table .main_btn {
    height: auto !important;
    min-height: 0 !important;
    align-self: start;
}

.page-content-from-db .home-cta-table .main_btn a,
.page-content-from-db .home-casino-table__cta .main_btn a {
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    flex: 0 0 auto;
    align-self: center;
}

.page-content-from-db .home-casino-table__cta .main_btn {
    height: 100%;
    min-height: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-content-from-db .home-guides-table,
.page-content-from-db .home-guides-table tbody,
.page-content-from-db .home-guides-table tr,
.page-content-from-db .home-guides-table td {
    display: block;
    width: 100%;
}

.page-content-from-db .home-guides-table td.home-guides-box {
    width: auto;
    background: #153544 !important;
    border: 1px solid #2a5a6a !important;
    border-radius: 14px;
    margin-bottom: 10px;
    padding: 1rem 1.1rem;
}

.page-content-from-db .home-guides-box ul {
    padding: 0;
}

.page-content-from-db .home-guides-box ul li {
    display: block;
    margin-top: 1rem;
    font-size: 16px;
}

.page-content-from-db .home-guides-box h3 {
    margin: 0 0 0.35rem;
}

.page-content-from-db .home-guides-box__all {
    margin: 0 0 0.9rem;
}

.page-content-from-db .home-guides-box__all a {
    color: var(--cr-accent) !important;
    font-weight: 700;
}

.page-content-from-db .home-latest-feed {
    display: grid;
    gap: 12px;
}

.page-content-from-db .home-latest-card,
.page-content-from-db .table a.home-latest-card {
    display: block;
    padding: 0.75rem;
    border: 1px solid #2a5a6a;
    border-radius: 12px;
    background: #153544;
    box-shadow: none;
    color: inherit !important;
    text-decoration: none !important;
    overflow: hidden;
}

.page-content-from-db .home-latest-card:hover,
.page-content-from-db .table a.home-latest-card:hover {
    border-color: var(--cr-accent-hover, #f0c96a);
    box-shadow: none;
    color: inherit !important;
}

.page-content-from-db .home-latest-card__image {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    background: #2a2c30;
    margin: 0 0 0.7rem;
}

.page-content-from-db .home-latest-card__img,
.page-content-from-db img.home-latest-card__img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 8.25rem !important;
    max-height: 8.25rem !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0;
}

.page-content-from-db .home-latest-card__body {
    display: block;
}

.page-content-from-db .home-latest-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.page-content-from-db .home-latest-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0.4rem;
    color: #c0c0c0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.page-content-from-db .home-faq-table {
    border-spacing: 0 0.6rem;
    border-collapse: separate;
    width: 100%;
}

.page-content-from-db .home-faq-table__q {
    background: #153544 !important;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    border: 1px solid #2a5a6a;
    border-radius: 12px 12px 0 0;
    padding: 1rem 1.2rem;
}

.page-content-from-db .home-faq-table__a {
    background: #153544 !important;
    border: 1px solid #2a5a6a;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    padding: 0 1.2rem 1rem;
}

.page-content-from-db .home-faq-table__a p {
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.65;
    color: #c5d9d6;
}

@media (min-width: 768px) {
    .page-content-from-db .home-panel,
    .page-content-from-db .page-download-section {
        margin: 3rem 0 0;
    }
    .page-content-from-db .home-panel .main_btn a,
    .page-content-from-db .home-scheme-table .main_btn a,
    .page-content-from-db .page-download-section .main_btn a {
        font-size: 0.98rem;
        padding: 0.9rem 1.5rem;
        min-height: 44px;
    }
    .page-content-from-db .home-store-icon,
    .page-content-from-db #batting .home-store-icon,
    #batting .about_content img.home-store-icon {
        width: 18px !important;
        height: 18px !important;
        max-width: 18px !important;
        max-height: 18px !important;
        flex-basis: 18px;
    }
    .page-content-from-db .home-games-table {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .page-content-from-db .home-media--wide img {
        max-height: 360px !important;
    }
    .page-content-from-db .home-media--split img,
    .page-content-from-db .home-media--mobile img {
        max-height: 280px !important;
    }
    .page-content-from-db .home-stats-table h3 {
        font-size: 20px;
    }
}

@media (min-width: 992px) {
    .page-content-from-db .home-panel,
    .page-content-from-db .page-download-section {
        margin: 3rem 0 0;
    }
    .page-content-from-db .home-panel .main_btn a,
    .page-content-from-db .home-scheme-table .main_btn a,
    .page-content-from-db .page-download-section .main_btn a {
        font-size: 0.98rem;
        padding: 0.9rem 1.5rem;
    }
    .page-content-from-db .home-stats-table {
        grid-template-columns: repeat(4, 1fr);
    }
    .page-content-from-db .home-games-table {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .page-content-from-db .home-cta-table {
        max-width: 560px;
    }
    .page-content-from-db .home-split-table {
        display: table;
        width: 100%;
        border-spacing: 16px 0;
    }
    .page-content-from-db .home-split-table tbody {
        display: table-row-group;
    }
    .page-content-from-db .home-split-table tr {
        display: table-row;
    }
    .page-content-from-db .home-split-table td {
        display: table-cell;
        width: 50%;
        padding: 12px;
        vertical-align: top;
    }
    .page-content-from-db .home-guides-table {
        display: table;
        width: 100%;
        border-spacing: 12px;
    }
    .page-content-from-db .home-guides-table tbody {
        display: table-row-group;
    }
    .page-content-from-db .home-guides-table tr {
        display: table-row;
    }
    .page-content-from-db .home-guides-table td,
    .page-content-from-db .home-guides-table td.home-guides-box {
        display: table-cell;
        width: 50%;
        margin-bottom: 0;
        vertical-align: top;
    }
    .page-content-from-db .home-casino-table {
        display: table;
        width: 100%;
        table-layout: auto;
        border-spacing: 0 14px;
    }
    .page-content-from-db .home-casino-table__block {
        display: table-row-group;
        border: 0;
        margin: 0;
        overflow: visible;
    }
    .page-content-from-db .home-casino-table tr {
        display: table-row;
    }
    .page-content-from-db .home-casino-table td,
    .page-content-from-db .home-casino-table th {
        display: table-cell;
        width: auto;
        vertical-align: middle;
        background: rgba(21, 53, 68, 0.92) !important;
        border-top: 1px solid rgba(197, 217, 214, 0.12);
        border-bottom: 1px solid rgba(197, 217, 214, 0.12);
    }
    .page-content-from-db .home-casino-table__logo {
        width: 240px;
        min-width: 200px;
        border-radius: 14px 0 0 14px;
        border-left: 1px solid rgba(197, 217, 214, 0.12) !important;
    }
    .page-content-from-db .home-casino-table__logo img {
        width: 220px !important;
        max-width: 220px !important;
        border-radius: 10px !important;
    }
    .page-content-from-db .home-casino-table__name {
        width: 99%;
        font-size: 22px;
        white-space: nowrap;
        text-align: center;
        padding-left: 12px;
        padding-right: 12px;
    }
    .page-content-from-db .home-casino-table__badges {
        width: 1%;
        min-width: 0;
        max-width: none;
        white-space: nowrap;
        text-align: center;
        padding-left: 12px;
        padding-right: 12px;
    }
    .page-content-from-db .home-casino-badges {
        justify-content: center;
        width: max-content;
        margin: 0 auto;
    }
    .page-content-from-db .home-casino-table__cta {
        width: 190px;
        border-radius: 0 14px 14px 0;
        border-right: 1px solid rgba(197, 217, 214, 0.12) !important;
        padding: 12px !important;
        vertical-align: middle;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .page-content-from-db .home-casino-table__cta .main_btn {
        height: 100%;
        min-height: 0 !important;
    }
    .page-content-from-db .home-casino-table__cta .main_btn a {
        height: auto !important;
        min-height: 44px !important;
    }
    .page-content-from-db .home-media--wide img {
        max-height: 420px !important;
    }
    .page-content-from-db .home-media--split img,
    .page-content-from-db .home-media--mobile img {
        max-height: 320px !important;
    }
    .page-content-from-db .home-stats-table h3 {
        font-size: 22px;
    }
}

/* Contact / Web3Forms */
.contact-page h1 {
    color: var(--cr-text-light);
    font-weight: 900;
    margin: 0 0 1rem;
}
.contact-page__intro {
    color: var(--cr-text);
    font-size: 1.05rem;
    line-height: 1.55;
    margin: 0 0 1.5rem;
}
.contact-page__alert {
    border-radius: 10px;
    padding: 0.9rem 1rem;
    margin: 0 0 1.25rem;
    line-height: 1.45;
}
.contact-page__alert--ok {
    background: rgba(46, 160, 90, 0.18);
    border: 1px solid rgba(46, 160, 90, 0.45);
    color: #d8f5e3;
}
.contact-page__alert--warn {
    background: rgba(232, 184, 74, 0.12);
    border: 1px solid rgba(232, 184, 74, 0.4);
    color: var(--cr-text-light);
}
.contact-page__alert a {
    color: var(--cr-accent);
}
.contact-page__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: rgba(42, 90, 106, 0.35);
    border: 1px solid rgba(197, 217, 214, 0.18);
    border-radius: 14px;
    padding: 1.35rem 1.25rem 1.5rem;
}
.contact-page__field label {
    display: block;
    color: var(--cr-text-light);
    font-weight: 600;
    margin-bottom: 0.4rem;
}
.contact-page__field input,
.contact-page__field textarea {
    width: 100%;
    border: 1px solid rgba(197, 217, 214, 0.28);
    border-radius: 10px;
    background: #0e1124;
    color: #fff;
    padding: 0.7rem 0.85rem;
    font-size: 1rem;
    font-family: inherit;
}
.contact-page__field input:focus,
.contact-page__field textarea:focus {
    outline: 2px solid var(--cr-accent);
    outline-offset: 1px;
}
.contact-page__field input:disabled,
.contact-page__field textarea:disabled,
.contact-page__submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.contact-page__honeypot {
    display: none !important;
}
.contact-page__captcha {
    min-height: 78px;
}
.contact-page__privacy {
    color: var(--cr-text);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0;
}
.contact-page__privacy a {
    color: var(--cr-accent);
}
.contact-page__submit {
    align-self: flex-start;
    border: none;
    border-radius: var(--cr-btn-radius, 10px);
    background: var(--cr-btn-solid, #f0c96a);
    color: var(--cr-btn-text, #0a1c24);
    font-weight: 800;
    font-size: 1rem;
    padding: 0.85rem 1.5rem;
    cursor: pointer;
}
.contact-page__submit:hover:not(:disabled) {
    background: var(--cr-btn-solid-hover, #ffe08a);
}



/* Series chips — bass green (not gold CTAs) */
.home-game-card .home-game-card__cat,
.page-content-from-db .home-casino-badge--slot,
.games-cat-slot,
.badge-slot {
    color: var(--cr-bass);
}

/* card-grid-fix 1791207999 */
