
:root {
    --theme-primary: #e11d48;
    --theme-deep: #4a0d1a;
    --theme-dark: #7f1d1d;
    --theme-soft: #fb7185;
    --ink: var(--theme-deep);
    --wine: var(--theme-deep);
    --line: color-mix(in srgb, var(--theme-primary) 16%, #fff);
    --accent: var(--theme-primary);
    --accent-dark: var(--theme-dark);
}

/* Keep every shared frontend surface on the active palette. */
body,
.bg--one { background-color: var(--theme-deep) !important; }
.section--bg,
.game-card,
.stat-card,
.feature-card,
.winner-card,
.testimonial-item,
.dashboard-card,
.account-wrapper,
.contact-info-card,
.contact-wrapper { background-color: var(--theme-dark) !important; }
.dark--overlay::before,
.dark--overlay-two::before,
body.page-trns-active::before { background-color: var(--theme-dark) !important; }
.text-shadow--base { text-shadow: 0 0 5px var(--theme-primary) !important; }
.feature-card:hover { border-color: var(--theme-primary) !important; box-shadow: 0 5px 15px color-mix(in srgb, var(--theme-primary) 25%, transparent), inset 0 0 15px color-mix(in srgb, var(--theme-primary) 70%, transparent) !important; }
.recent-winner-card { border-color: var(--theme-soft) !important; background-color: var(--theme-dark) !important; box-shadow: inset 0 0 15px color-mix(in srgb, var(--theme-primary) 75%, transparent) !important; }
.recent-winner-card::before { background-color: color-mix(in srgb, var(--theme-primary) 62%, var(--theme-dark)) !important; }
.recent-winner-card .amount { color: #fff !important; }
.recent-winner-card { display: flex; min-height: 166px; height: 100%; flex-direction: column; }
.recent-winner-card__name { min-height: 26px; margin-right: 54px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-winner-card .name { display: -webkit-box; min-height: 52px; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.45; }
.recent-winner-card .amount { margin-top: auto; }
.recent-winner-card { min-height: 178px; padding: 16px 20px 8px !important; overflow: hidden; border-radius: 16px !important; border-width: 1px !important; background: linear-gradient(145deg, color-mix(in srgb, var(--theme-deep) 80%, var(--theme-dark)), var(--theme-dark)) !important; box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-deep) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.12) !important; }
.recent-winner-card::before { width: 100px !important; height: 100px !important; right: -28px !important; bottom: -45px !important; opacity: .55; }
.recent-winner-card__number { top: 13px !important; right: 16px !important; min-width: 47px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--theme-soft) 35%, transparent); border-radius: 999px; color: var(--theme-soft) !important; background: color-mix(in srgb, var(--theme-primary) 18%, transparent); font-size: .75rem !important; line-height: 1.2; text-align: center; }
.recent-winner-card__name { margin-bottom: 7px !important; color: #fff !important; font-size: 1.1rem; font-weight: 800; }
.recent-winner-card .name { min-height: 45px; color: #fff !important; font-size: .79rem; }
.recent-winner-card .amount { display: inline-flex; align-items: center; width: fit-content; margin-top: auto; padding: 5px 9px; border-radius: 7px; color: #fff !important; background: color-mix(in srgb, var(--theme-primary) 16%, transparent); font-size: .76rem; font-weight: 800; }
.recent-winners-section .section-title { color: #fff !important; }
.language-select option { background-color: var(--theme-dark) !important; }
.custom--accordion .accordion-item { border-color: color-mix(in srgb, var(--theme-primary) 55%, transparent) !important; background-color: var(--theme-dark) !important; }
.custom--accordion .accordion-button { color: #fff !important; background-color: color-mix(in srgb, var(--theme-deep) 82%, transparent) !important; }
.custom--accordion .accordion-button:not(.collapsed) { color: var(--theme-deep) !important; background-color: var(--theme-primary) !important; }
.custom--accordion .accordion-button::after { color: currentColor !important; }
.custom--accordion .accordion-body { color: color-mix(in srgb, var(--theme-soft) 42%, #fff) !important; background: color-mix(in srgb, var(--theme-dark) 78%, var(--theme-deep)) !important; }
.custom--accordion .accordion-body p { color: inherit !important; }
.scroll-to-top { background-color: color-mix(in srgb, var(--theme-primary) 70%, var(--theme-dark)) !important; }
.game-card { border-color: transparent !important; box-shadow: inset 0 0 15px color-mix(in srgb, var(--theme-primary) 75%, transparent) !important; }
.game-card:hover { border-color: var(--theme-primary) !important; box-shadow: 0 5px 15px color-mix(in srgb, var(--theme-primary) 25%, transparent), inset 0 0 15px color-mix(in srgb, var(--theme-primary) 75%, transparent) !important; }

.header, .header.menu-fixed .header__bottom { background: var(--theme-deep) !important; }
@media (min-width: 1400px) {
    .header .container { max-width: 1680px; }
}
.header .main-menu li a,
.header .main-menu li a.active,
.header .main-menu li a:hover,
.header .main-menu li a:focus { color: #fff !important; }
.header .main-menu li a.active { border-color: color-mix(in srgb, var(--theme-soft) 58%, transparent) !important; background: color-mix(in srgb, var(--theme-primary) 26%, transparent) !important; box-shadow: inset 0 -2px 0 var(--theme-soft) !important; }
.header .nav-dashboard { color: #fff !important; }
.header .nav-login { display: inline-flex; align-items: center; margin-right: 1.25rem; color: #fff !important; font-size: .95rem; font-weight: 500; transition: color .2s ease; }
.header .nav-login:hover { color: #fff !important; }
.header .nav-register { min-height: 58px; padding: 0 2.35rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; color: #fff !important; font-size: .95rem; font-weight: 600; }
.header .nav-right { display: flex; align-items: center; gap: .65rem; }
.header .nav-dashboard { display: inline-flex; align-items: center; min-height: 38px; padding: .55rem .8rem; border: 1px solid color-mix(in srgb, var(--theme-soft) 24%, transparent); border-radius: 8px; color: #fff !important; font-size: .78rem; font-weight: 700; }
.header .nav-dashboard:hover, .header .nav-dashboard.active { background: color-mix(in srgb, var(--theme-primary) 35%, transparent); }
.header .nav-signout { display: inline-flex; align-items: center; min-height: 38px; padding: .55rem .8rem; border-radius: 8px; color: #fff !important; font-size: .78rem; cursor: pointer; }
.header .nav-signout:hover { color: #fff !important; background: color-mix(in srgb, var(--theme-primary) 35%, transparent) !important; }
.header .nav-signout:hover { background: var(--theme-primary) !important; }
@media (max-width: 1199px) {
    .header .navbar-collapse {
        background: linear-gradient(145deg, var(--theme-deep), var(--theme-dark)) !important;
        border: 1px solid color-mix(in srgb, var(--theme-soft) 24%, transparent) !important;
        border-radius: .85rem !important;
        box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-deep) 32%, transparent) !important;
    }
    .header .main-menu li,
    .header .main-menu li .sub-menu li {
        border-color: color-mix(in srgb, var(--theme-soft) 20%, transparent) !important;
    }
    .header .main-menu li a.active {
        color: #fff !important;
        background: linear-gradient(135deg, color-mix(in srgb, var(--theme-primary) 42%, transparent), color-mix(in srgb, var(--theme-soft) 20%, transparent)) !important;
    }
    .header .main-menu li .sub-menu {
        background: color-mix(in srgb, var(--theme-dark) 88%, #000) !important;
    }
    .header .nav-dashboard { color: color-mix(in srgb, var(--theme-soft) 68%, #fff) !important; }
    .header .nav-login { margin: .65rem 1rem .65rem 0; }
    .header .nav-register { min-height: 48px; padding: 0 1.35rem; }
    .header .nav-right { justify-content: flex-start; padding-top: .65rem; }
}
.btn--base, .btn--base:hover { background: var(--theme-primary) !important; box-shadow: 0 10px 20px color-mix(in srgb, var(--theme-primary) 28%, transparent) !important; }
.hero-slider { position: relative; overflow: hidden; }
.hero-slider .slick-list, .hero-slider .slick-track { width: 100%; }
.hero-slide { position: relative; min-height: 520px; background-position: center; background-size: cover; }
.hero-slide__container { position: relative; z-index: 2; display: flex; min-height: 520px; align-items: center; justify-content: center; padding-top: 54px; padding-bottom: 70px; }
.hero-slide__container > .row { width: 100%; }
.hero-slide__container .hero__eyebrow,
.hero-slide__container .hero__title,
.hero-slide__container .hero__description { margin-right: auto; margin-left: auto; }
.hero-slide__container .hero__eyebrow { display: block; max-width: 760px; margin-bottom: 14px; overflow-wrap: anywhere; }
.hero-slide__container .hero__title { max-width: 1050px; margin-top: 0; margin-bottom: 14px; line-height: 1.12; }
.hero-slide__container .hero__description { max-width: 780px; margin-top: 0; margin-bottom: 22px; line-height: 1.55; }
.hero-slide__container .hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.hero-slide__container .hero__actions .btn { color: #fff !important; }
.hero-slide__container .hero__secondary-button { background: color-mix(in srgb, var(--theme-dark) 72%, transparent) !important; border: 1px solid rgba(255,255,255,.65); }
.hero-slide__container .hero__secondary-button:hover,
.hero-slide__container .hero__secondary-button:focus { color: #fff !important; background: var(--theme-primary) !important; border-color: var(--theme-primary); }
.hero-slider__arrow { position: absolute; top: 50%; z-index: 3; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; background: rgba(0,0,0,.28); transform: translateY(-50%); cursor: pointer; }
.hero-slider__arrow--prev { left: 24px; }
.hero-slider__arrow--next { right: 24px; }
.hero-slider .slick-dots { position: absolute; bottom: 24px; left: 50%; z-index: 3; display: flex; gap: 7px; margin: 0; padding: 0; list-style: none; transform: translateX(-50%); }
.hero-slider .slick-dots li { display: block; margin: 0; padding: 0; }
.hero-slider .slick-dots button { display: block; width: 9px; height: 9px; padding: 0; overflow: hidden; border: 0; border-radius: 50%; color: transparent; background: rgba(255,255,255,.55); font-size: 0; line-height: 0; cursor: pointer; }
.hero-slider .slick-dots .slick-active button { width: 24px; border-radius: 999px; background: var(--theme-primary); }
@media (max-width: 575px) { .hero-slide,.hero-slide__container { min-height: 460px; } .hero-slide__container { padding: 58px 38px 72px; } .hero-slide__container .hero__eyebrow { margin-bottom: 10px; } .hero-slide__container .hero__title { margin-bottom: 12px; } .hero-slide__container .hero__description { margin-bottom: 18px; } .hero-slider__arrow { width: 34px; height: 34px; } .hero-slider__arrow--prev { left: 12px; } .hero-slider__arrow--next { right: 12px; } }
.hero-slider__arrow:hover { background: var(--theme-primary) !important; }
.home-intro-section { padding: 72px 0 92px; }
.home-intro-section__panel { row-gap: 42px; }
.home-intro-section__eyebrow { display: block; margin-bottom: 10px; color: #fff; font-size: .82rem; font-weight: 700; }
.home-intro-section h2 { max-width: 680px; margin: 0 0 14px; color: #fff; font-size: clamp(2rem, 3.1vw, 3.2rem); line-height: 1.18; }
.home-intro-section p { max-width: 700px; margin: 0; color: #fff; line-height: 1.75; }
.home-intro-section__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 22px; }
.home-intro-section__link { color: #fff !important; font-weight: 700; }
.home-intro-section__actions .btn { color: #fff !important; }
.home-intro-section__points { display: grid; gap: 22px; padding: 4px 0 4px 18px; }
.home-intro-section__points article { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 12px; align-items: start; }
.home-intro-section__points article > i { margin-top: 3px; color: #fff; font-size: 1.3rem; }
.home-intro-section__points h3 { margin: 0 0 4px; color: #fff; font-size: 1.35rem; line-height: 1.25; }
.home-intro-section__points p { font-size: .94rem; }
.overview-section { margin-top: 0 !important; }
.overview-wrapper .overview-card__content,
.overview-wrapper .overview-card__content .amount,
.overview-wrapper .overview-card__content p { color: #fff !important; }
.stat-card,
.stat-card .title,
.stat-card .caption-list-two,
.stat-card .caption-list-two .caption,
.stat-card .caption-list-two .value { color: #fff !important; }
.home-cta-section,
.home-cta-section .section-title,
.home-cta-section p,
.home-cta-section .btn { color: #fff !important; }
.lottery-section__view-all { color: #fff !important; }
.entry-review-button,
.entry-review-button i { color: #fff !important; }
@media (max-width: 991px) { .home-intro-section { padding: 58px 0 72px; } .home-intro-section__points { padding-left: 0; } }
@media (max-width: 575px) { .home-intro-section { padding: 46px 0 58px; } .home-intro-section h2 { font-size: 1.85rem; } .home-intro-section__points { gap: 18px; } }
.hero-slide__overlay { background: linear-gradient(90deg, rgba(62, 3, 18, .76), color-mix(in srgb, var(--theme-primary) 36%, transparent), rgba(62, 3, 18, .76)) !important; }
.inner-hero::before { background: linear-gradient(100deg, rgba(62, 3, 18, .76), color-mix(in srgb, var(--theme-primary) 42%, transparent)) !important; }
.overview-wrapper { background: linear-gradient(110deg, var(--theme-deep), var(--theme-primary)) !important; box-shadow: 0 18px 38px color-mix(in srgb, var(--theme-deep) 30%, transparent) !important; }
.subscribe-wrapper { background: linear-gradient(120deg, var(--theme-deep), var(--theme-dark)) !important; box-shadow: 0 16px 35px color-mix(in srgb, var(--theme-deep) 28%, transparent) !important; }
.subscribe-wrapper .title,
.subscribe-wrapper .subscribe-form .form--control,
.subscribe-wrapper .subscribe-form .form--control::placeholder,
.subscribe-wrapper .subscribe-form .btn,
.home-payments-section .btn { color: #fff !important; }
.footer { background: linear-gradient(180deg, var(--theme-primary) 0%, var(--theme-dark) 42%, var(--theme-deep) 100%) !important; }
.footer-intro, .footer .inline-menu li a, .footer-content__left-text { color: color-mix(in srgb, var(--theme-soft) 62%, #fff) !important; }
.footer .inline-menu li a:hover, .footer-content__left-text a { color: #fff !important; }
.inline-social-links li a:hover { background: var(--theme-primary) !important; border-color: var(--theme-primary) !important; }
.preloader { background: linear-gradient(135deg, var(--theme-deep), var(--theme-dark)) !important; }
.preloader .preloader-container .animated-preloader { background: var(--theme-primary) !important; }
.preloader .preloader-container .animated-preloader::before { background: var(--theme-primary) !important; }
.preloader .preloader-container .animated-preloader::after { background: var(--theme-dark) !important; }
.maintenance-page { position: relative; min-height:100vh; margin:0!important; padding:54px 20px 76px; overflow:hidden; color:var(--theme-deep); background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 7%,#fff),#fff 58%,color-mix(in srgb,var(--theme-soft) 10%,#fff)); }.maintenance-page::before,.maintenance-page::after{position:absolute;border:1px solid color-mix(in srgb,var(--theme-primary) 14%,transparent);border-radius:50%;content:'';pointer-events:none}.maintenance-page::before{top:-270px;left:50%;width:760px;height:520px;transform:translateX(-50%)}.maintenance-page::after{right:-150px;bottom:-190px;width:440px;height:440px}.maintenance-page .container{position:relative;z-index:1}.maintenance-panel{padding:34px clamp(20px,5vw,58px) 30px;border:1px solid color-mix(in srgb,var(--theme-primary) 18%,#fff);border-radius:24px;background:rgba(255,255,255,.91);box-shadow:0 24px 55px color-mix(in srgb,var(--theme-deep) 13%,transparent)}.maintenance-panel__badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 10%,#fff);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.maintenance-panel__image{display:block;max-width:min(100%,430px);max-height:245px;margin:16px auto 8px;filter:drop-shadow(0 16px 20px color-mix(in srgb,var(--theme-primary) 20%,transparent))}.maintenance-panel h1{margin:0;color:var(--theme-deep);font-size:clamp(1.75rem,4vw,2.45rem);font-weight:800;letter-spacing:-.035em}.maintenance-panel__lead{max-width:590px;margin:9px auto 18px!important;color:color-mix(in srgb,var(--theme-deep) 67%,#64748b)!important;font-size:.96rem!important;line-height:1.65!important}.maintenance-panel__message{max-width:650px;margin:0 auto;padding:16px 20px;border:1px solid color-mix(in srgb,var(--theme-primary) 14%,#fff);border-radius:13px;color:color-mix(in srgb,var(--theme-deep) 78%,#475569);background:color-mix(in srgb,var(--theme-primary) 4%,#fff);font-size:.9rem;line-height:1.75}.maintenance-panel__message *{max-width:100%;color:inherit!important;background:transparent!important;font-family:inherit!important;text-align:center!important}.maintenance-panel__message h1,.maintenance-panel__message h2,.maintenance-panel__message h3,.maintenance-panel__message h4,.maintenance-panel__message h5,.maintenance-panel__message h6{margin:.2rem 0 .6rem!important;font-size:1.05rem!important;font-weight:800!important}.maintenance-panel__message p{margin:0!important;font-size:inherit!important;line-height:inherit!important}.maintenance-panel__message p+p{margin-top:.7rem!important}.maintenance-panel__footnote{margin:17px 0 0!important;color:color-mix(in srgb,var(--theme-deep) 55%,#64748b)!important;font-size:.78rem!important}.maintenance-panel__footnote i{margin-right:4px;color:var(--theme-primary)}@media(max-width:575px){.maintenance-page{padding:32px 10px 48px}.maintenance-panel{padding:25px 18px}.maintenance-panel__image{max-height:185px}.maintenance-panel__message{padding:14px}}
.cookies-card { position: fixed; right: 24px; bottom: 24px; z-index: 9999; width: min(390px, calc(100% - 32px)); padding: 20px; border: 1px solid color-mix(in srgb, var(--theme-primary) 18%, #fff); border-radius: 16px; color: var(--theme-deep); background: rgba(255,255,255,.98); box-shadow: 0 18px 42px rgba(15,23,42,.18); text-align: left !important; }
.cookies-card__icon { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 12px; border-radius: 12px; color: #fff; background: var(--theme-primary) !important; font-size: 1.2rem; }.cookies-card__content { margin: 0 !important; color: #5d6d87; font-size: .82rem; line-height: 1.6; }.cookies-card__content a { color: var(--theme-primary) !important; font-weight: 800; }.cookies-card__btn { margin-top: 16px !important; }.cookies-card__btn .policy { display: inline-flex; width: auto !important; min-width: 110px; justify-content: center; padding: 9px 18px; border-radius: 9px; color: #fff !important; background: var(--theme-primary) !important; }
.how-work-card__step { color: var(--theme-primary) !important; background: color-mix(in srgb, var(--theme-soft) 18%, #fff) !important; border-color: color-mix(in srgb, var(--theme-primary) 32%, #fff) !important; box-shadow: 0 0 10px color-mix(in srgb, var(--theme-primary) 40%, transparent) !important; }
.how-work-card__step::before { background-color: var(--theme-soft) !important; }
.how-work-card__step::after { border-color: var(--theme-dark) !important; }
.how-work-item::after { background-color: var(--theme-primary) !important; background-image: none !important; mask: url('../images/right-arrow.svg') center / contain no-repeat; -webkit-mask: url('../images/right-arrow.svg') center / contain no-repeat; opacity: .9 !important; }
.overview-card__icon { color: var(--theme-soft) !important; }
.feature-card__icon { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid color-mix(in srgb, var(--theme-primary) 35%, #fff); border-radius: 16px; color: var(--theme-primary) !important; background: color-mix(in srgb, var(--theme-primary) 14%, var(--theme-dark)) !important; font-size: 1.85rem; line-height: 1; }
.feature-card__icon i { color: inherit !important; }
.lottery--progress .progress-bar { background: var(--theme-primary) !important; }
.home-contest-card, .contest-card { background: linear-gradient(145deg, var(--theme-deep), var(--theme-dark)) !important; box-shadow: 0 16px 32px color-mix(in srgb, var(--theme-dark) 25%, transparent) !important; }
.home-contest-card__visual, .contest-card__visual { background: linear-gradient(145deg, var(--theme-primary), var(--theme-dark)) !important; }
.home-contest-card__round, .contest-card__round, .contest-card__live { background: linear-gradient(145deg, var(--theme-soft), var(--theme-primary)) !important; }
.home-contest-card__action, .contest-card__action { color: var(--theme-dark) !important; }

/* Clean, theme-aware lottery directory cards */
.contest-directory { background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 9%, #fff), #fff 48%) !important; }
.contest-directory .contest-card { color: var(--theme-deep) !important; border: 1px solid color-mix(in srgb, var(--theme-primary) 18%, #fff) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 14px 32px color-mix(in srgb, var(--theme-deep) 11%, transparent) !important; }
.contest-directory .contest-card:hover { transform: translateY(-5px); box-shadow: 0 22px 42px color-mix(in srgb, var(--theme-deep) 16%, transparent) !important; }
.contest-directory .contest-card::before { display: none !important; }
.contest-directory .contest-card__visual { height: 184px !important; margin: 12px 12px 0 !important; overflow: hidden !important; border-radius: 12px !important; background: linear-gradient(135deg, var(--theme-dark), var(--theme-primary)) !important; }
.contest-directory .contest-card__visual::after { height: 46% !important; border-radius: inherit !important; background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--theme-deep) 50%, transparent)) !important; }
.contest-directory .contest-card__visual img { width: 100% !important; height: 100% !important; border-radius: inherit !important; object-fit: cover !important; filter: none !important; }
.contest-directory .contest-card__live { top: 13px !important; left: 13px !important; display: inline-flex !important; width: auto !important; height: auto !important; align-items: center !important; gap: .32rem !important; padding: .4rem .65rem !important; border: 1px solid rgba(255,255,255,.34) !important; border-radius: 999px !important; color: #fff !important; background: color-mix(in srgb, var(--theme-deep) 74%, transparent) !important; box-shadow: none !important; font-size: .66rem !important; letter-spacing: .04em !important; }
.contest-directory .contest-card__live i { color: color-mix(in srgb, var(--theme-soft) 80%, #fff) !important; }
.contest-directory .contest-card__round { right: 13px !important; bottom: 13px !important; left: auto !important; display: inline-flex !important; width: auto !important; height: auto !important; align-items: center !important; gap: .25rem !important; padding: .42rem .62rem !important; border: 0 !important; border-radius: 8px !important; color: #fff !important; background: color-mix(in srgb, var(--theme-deep) 79%, transparent) !important; box-shadow: none !important; font-size: .61rem !important; transform: none !important; }
.contest-directory .contest-card__round b { display: inline !important; margin: 0 !important; color: #fff !important; font-size: .68rem !important; }
.contest-directory .contest-card__body { min-height: 105px !important; padding: 1.3rem 1.4rem .8rem !important; }
.contest-directory .contest-card__title span { margin: 0 0 .35rem !important; color: color-mix(in srgb, var(--theme-primary) 82%, var(--theme-deep)) !important; font-size: .61rem !important; letter-spacing: .1em !important; }
.contest-directory .contest-card__title h2 { max-width: 190px !important; color: var(--theme-deep) !important; font-size: 1.25rem !important; line-height: 1.25 !important; }
.contest-directory .contest-card__price strong { color: var(--theme-dark) !important; font-size: 1.08rem !important; }
.contest-directory .contest-card__price span { color: color-mix(in srgb, var(--theme-deep) 57%, #fff) !important; }
.contest-directory .contest-card__details { margin: 0 1.4rem .85rem !important; padding: .68rem .75rem !important; border: 1px solid color-mix(in srgb, var(--theme-primary) 15%, #fff) !important; border-radius: 9px !important; color: color-mix(in srgb, var(--theme-deep) 74%, #fff) !important; background: color-mix(in srgb, var(--theme-soft) 8%, #fff) !important; }
.contest-directory .contest-card__details i { color: var(--theme-primary) !important; }
.contest-directory .contest-card__details .badge { border-color: color-mix(in srgb, var(--theme-primary) 25%, #fff) !important; color: var(--theme-dark) !important; background: #fff !important; }
.contest-directory .contest-card__progress { margin: 0 1.4rem !important; padding: 0 0 1rem !important; }
.contest-directory .contest-card__progress > div:first-child { color: color-mix(in srgb, var(--theme-deep) 67%, #fff) !important; }
.contest-directory .contest-card__progress strong { color: var(--theme-deep) !important; }
.contest-directory .contest-card__progress .progress { background: color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; }
.contest-directory .contest-card__progress .progress-bar { background: linear-gradient(90deg, var(--theme-primary), var(--theme-soft)) !important; box-shadow: none !important; }
.contest-directory .contest-card__footer { min-height: 66px !important; gap: .6rem !important; padding: .9rem 1.4rem !important; border-top: 1px solid color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; color: color-mix(in srgb, var(--theme-deep) 72%, #fff) !important; }
.contest-directory .contest-card__footer i { color: var(--theme-primary) !important; }
.contest-directory .contest-card__action { padding: .56rem .74rem !important; border-radius: 8px !important; color: #fff !important; background: var(--theme-primary) !important; box-shadow: 0 7px 14px color-mix(in srgb, var(--theme-primary) 24%, transparent) !important; }
.contest-directory .contest-card__action i { color: inherit !important; }
@media (max-width: 575px) { .contest-directory .contest-card__visual { height: 172px !important; } .contest-directory .contest-card__body, .contest-directory .contest-card__footer { padding-right: 1.1rem !important; padding-left: 1.1rem !important; } .contest-directory .contest-card__details, .contest-directory .contest-card__progress { margin-right: 1.1rem !important; margin-left: 1.1rem !important; } }

/* Theme-aware public-page callouts and contact page */
.about-page__eyebrow,
.contact-page__eyebrow { color: var(--theme-primary) !important; }

.about-page__title,
.about-page__section-title,
.contact-page__intro h1,
.contact-page__form-heading h2 { color: var(--theme-deep) !important; }

.about-page__link { color: var(--theme-dark) !important; }
.about-page__link:hover { color: var(--theme-primary) !important; }
.about-page { color: color-mix(in srgb, var(--theme-deep) 72%, #fff) !important; }
.about-page__lead,
.about-page__story p,
.about-page__value-card p,
.about-page__step p { color: color-mix(in srgb, var(--theme-deep) 70%, #fff) !important; }
.about-page__promises { color: color-mix(in srgb, var(--theme-deep) 78%, #fff) !important; }
.about-page__promises i { color: var(--theme-primary) !important; }
.about-page__hero-image,
.about-page__story-image { box-shadow: 0 25px 60px color-mix(in srgb, var(--theme-deep) 20%, transparent) !important; }
.about-page__steps {
    border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important;
    background: color-mix(in srgb, var(--theme-soft) 5%, #fff) !important;
    box-shadow: 0 18px 45px color-mix(in srgb, var(--theme-deep) 7%, transparent) !important;
}
.about-page__step { border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; }
.about-page__step span { color: var(--theme-primary) !important; }
.about-page__step h2 { color: var(--theme-deep) !important; }
.about-page__values { border-color: color-mix(in srgb, var(--theme-primary) 16%, #fff) !important; }
.about-page__value-card {
    border-color: color-mix(in srgb, var(--theme-primary) 21%, #fff) !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-deep) 7%, transparent) !important;
}
.about-page__value-card:hover { box-shadow: 0 20px 38px color-mix(in srgb, var(--theme-primary) 18%, transparent) !important; }
.about-page__value-card > i {
    color: var(--theme-primary) !important;
    background: color-mix(in srgb, var(--theme-soft) 16%, #fff) !important;
}
.about-page__value-card h3 { color: var(--theme-deep) !important; }
.about-page__commitment {
    border-color: color-mix(in srgb, var(--theme-primary) 19%, #fff) !important;
    background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--theme-soft) 8%, #fff)) !important;
}
.about-page__commitment-list article {
    border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important;
}
.about-page__commitment-list > article > i {
    color: var(--theme-primary) !important;
    background: color-mix(in srgb, var(--theme-soft) 16%, #fff) !important;
}
.about-page__commitment-list h3 { color: var(--theme-deep) !important; }
.about-page__commitment-list p { color: color-mix(in srgb, var(--theme-deep) 68%, #fff) !important; }

.about-page__cta,
.lottery-page__help,
.contact-page__details {
    background: linear-gradient(115deg, var(--theme-deep), var(--theme-dark)) !important;
    box-shadow: 0 20px 42px color-mix(in srgb, var(--theme-deep) 25%, transparent) !important;
}

.about-page__cta .about-page__eyebrow,
.lottery-page__help .lottery-page__eyebrow,
.contact-page__details .contact-page__eyebrow { color: var(--theme-soft) !important; }

.about-page__cta .btn--light { color: var(--theme-dark) !important; }
.about-page__cta .btn--light:hover {
    color: #fff !important;
    background: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
}

/* About page structure. These rules deliberately provide the layout as well as
   the palette, so the page remains readable on the site's dark outer canvas. */
.about-page {
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--theme-soft) 7%, #fff) 46%, #fff 100%);
}
.about-page__intro { margin-bottom: clamp(4rem, 8vw, 7rem); }
.about-page__eyebrow {
    display: inline-block;
    margin-bottom: .85rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.about-page__title,
.about-page__section-title {
    margin: 0;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.08;
}
.about-page__title { max-width: 11ch; font-size: clamp(2.45rem, 4vw, 4.35rem); }
.about-page__section-title { font-size: clamp(2rem, 3.25vw, 3.25rem); }
.about-page__lead,
.about-page__commitment > .row > div > p,
.about-page__story p {
    max-width: 42rem;
    margin: 1.35rem 0 0;
    font-size: 1.05rem;
    line-height: 1.8;
}
.about-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-top: 2rem; }
.about-page__actions .btn { min-width: 15rem; padding: .9rem 1.35rem; }
.about-page__link { font-weight: 700; }
.about-page__promises { display: grid; gap: .55rem; margin-top: 1.65rem; font-size: .94rem; }
.about-page__promises i { margin-right: .35rem; font-size: 1.1rem; }
.about-page__hero-image,
.about-page__story-image { overflow: hidden; border-radius: 1.25rem; background: var(--theme-deep); }
.about-page__hero-image img,
.about-page__story-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-page__hero-image { height: clamp(20rem, 34vw, 31rem); }
.about-page__steps {
    --bs-gutter-x: 1.5rem;
    margin: 0;
    padding: 1.5rem;
    border: 1px solid;
    border-radius: 1.25rem;
}
.about-page__step { height: 100%; padding: 1.4rem .4rem; }
.about-page__step:not(:last-child) { border-right: 1px solid; }
.about-page__step span { display: block; margin-bottom: 1rem; font-size: .82rem; font-weight: 800; letter-spacing: .1em; }
.about-page__step h2 { margin: 0 0 .65rem; font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.15; }
.about-page__step p { margin: 0; line-height: 1.7; }
.about-page__commitment {
    margin-top: clamp(4.5rem, 9vw, 8rem);
    padding: clamp(2rem, 5vw, 4.5rem);
    border: 1px solid;
    border-radius: 1.5rem;
}
.about-page__commitment-list { display: grid; gap: 1rem; }
.about-page__commitment-list article { display: flex; gap: 1rem; padding: 1.15rem; border: 1px solid; border-radius: 1rem; background: rgba(255, 255, 255, .68); }
.about-page__commitment-list > article > i,
.about-page__value-card > i { display: grid; flex: 0 0 2.6rem; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; font-size: 1.2rem; }
.about-page__commitment-list h3,
.about-page__value-card h3 { margin: .1rem 0 .35rem; font-size: 1.18rem; }
.about-page__commitment-list p,
.about-page__value-card p { margin: 0; line-height: 1.6; }
.about-page__story { margin-top: clamp(4.5rem, 9vw, 8rem); }
.about-page__story-image { height: clamp(21rem, 38vw, 35rem); }
.about-page__values { margin-top: clamp(4.5rem, 9vw, 8rem); padding-top: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid; }
.about-page__values-heading { max-width: 43rem; margin-bottom: 2.25rem; }
.about-page__value-card { height: 100%; padding: 1.7rem; border: 1px solid; border-radius: 1rem; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.about-page__value-card:hover { transform: translateY(-4px); }
.about-page__value-card h3 { margin-top: 1.25rem; font-size: 1.3rem; }
.about-page__cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: clamp(4.5rem, 9vw, 8rem); padding: clamp(2rem, 5vw, 4rem); border-radius: 1.5rem; }
.about-page__cta h2 { margin: 0; color: #fff; font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.08; }
.about-page__cta .btn { flex: 0 0 auto; padding: .95rem 1.4rem; }

@media (max-width: 991px) {
    .about-page__title { max-width: 16ch; }
    .about-page__hero-image { margin-top: .5rem; }
    .about-page__story-image { height: 24rem; }
}
@media (max-width: 767px) {
    .about-page { padding: 3.5rem 0; }
    .about-page__intro { margin-bottom: 3.5rem; }
    .about-page__steps { padding: 1rem; }
    .about-page__step { padding: 1.25rem .5rem; }
    .about-page__step:not(:last-child) { border-right: 0; border-bottom: 1px solid; }
    .about-page__commitment-list article { padding: 1rem; }
    .about-page__story-image { height: 19rem; }
    .about-page__cta { display: block; }
    .about-page__cta .btn { margin-top: 1.5rem; }
}

.lottery-page__help-steps span { color: color-mix(in srgb, var(--theme-soft) 55%, #fff) !important; }
.lottery-page__help-steps b { color: var(--theme-dark) !important; }

.contact-page__intro p,
.contact-page__form-heading p,
.contact-page__assurance { color: color-mix(in srgb, var(--theme-deep) 68%, #fff) !important; }

.contact-page {
    padding: 72px 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 9%, #fff), #fff 62%) !important;
}

.contact-page__reply-note {
    border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important;
    color: var(--theme-dark) !important;
    background: color-mix(in srgb, var(--theme-soft) 11%, #fff) !important;
}

.contact-page__reply-note i {
    color: var(--theme-primary) !important;
    background: color-mix(in srgb, var(--theme-soft) 23%, #fff) !important;
}

.contact-page__detail > i { color: var(--theme-dark) !important; }
.contact-page__detail small { color: color-mix(in srgb, var(--theme-soft) 62%, #fff) !important; }

.contact-page__form-card {
    height: 100%;
    padding: clamp(24px, 4vw, 42px);
    border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important;
    border-style: solid;
    border-width: 1px;
    border-radius: 18px;
    background: #fff !important;
    box-shadow: 0 16px 36px color-mix(in srgb, var(--theme-deep) 8%, transparent) !important;
}

.contact-page .contact-form label { color: var(--theme-dark) !important; }
.contact-page .custom--field .form--control {
    border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important;
    color: var(--theme-deep) !important;
    background: color-mix(in srgb, var(--theme-soft) 5%, #fff) !important;
}
.contact-page .custom--field .form--control::placeholder {
    color: color-mix(in srgb, var(--theme-deep) 48%, #fff) !important;
}
.contact-page .custom--field .form--control:focus {
    border-color: var(--theme-primary) !important;
    color: var(--theme-deep) !important;
    background: #fff !important;
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--theme-primary) 14%, transparent) !important;
}
.contact-page .custom--field i,
.contact-page .custom--field:focus-within i,
.contact-page__assurance i { color: var(--theme-primary) !important; }
.contact-page__assurance { margin-top: 22px; }

/* Contact page structure: keep the support details and message form as clear,
   evenly spaced panels instead of relying on the dark site canvas beneath. */
.contact-page { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.contact-page__intro { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.contact-page__eyebrow {
    display: inline-block;
    margin-bottom: .85rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.contact-page__intro h1,
.contact-page__form-heading h2,
.contact-page__details h2 {
    margin: 0;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.1;
}
.contact-page__intro h1 { max-width: 12ch; font-size: clamp(2.5rem, 4.7vw, 4.7rem); }
.contact-page__intro p { max-width: 42rem; margin: 1.25rem 0 0; font-size: 1.05rem; line-height: 1.75; }
.contact-page__reply-note {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.15rem;
    border: 1px solid;
    border-radius: .9rem;
    font-weight: 600;
    line-height: 1.45;
}
.contact-page__reply-note i {
    display: grid;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 50%;
    font-size: 1.1rem;
}
.contact-page__details {
    height: 100%;
    padding: clamp(1.75rem, 3vw, 2.75rem);
    border-radius: 1.15rem;
}
.contact-page__details h2 { color: #fff; font-size: clamp(1.7rem, 2.5vw, 2.35rem); }
.contact-page__details > p { margin: .85rem 0 1.75rem; color: rgba(255, 255, 255, .82); line-height: 1.7; }
.contact-page__detail-list { display: grid; gap: 1rem; }
.contact-page__detail {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    color: #fff !important;
    line-height: 1.35;
}
.contact-page__detail > i { margin-top: .2rem; font-size: 1.15rem; }
.contact-page__detail span { display: grid; gap: .15rem; }
.contact-page__detail small { font-size: .78rem; }
.contact-page__detail strong { color: #fff !important; font-weight: 650; overflow-wrap: anywhere; }
.contact-page__form-heading { margin-bottom: 2rem; }
.contact-page__form-heading h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); }
.contact-page__form-heading p { margin: .7rem 0 0; line-height: 1.65; }
.contact-page .contact-form label { display: block; margin-bottom: .55rem; font-size: .9rem; font-weight: 700; }
.contact-page .custom--field { position: relative; }
.contact-page .custom--field .form--control { min-height: 3.7rem; padding-left: 3.4rem; border-radius: .7rem; }
.contact-page .custom--field textarea.form--control { min-height: 10.5rem; padding-top: 1rem; }
.contact-page .custom--field i { position: absolute; top: 1.25rem; left: 1.1rem; font-size: 1.15rem; }
.contact-page .contact-page__submit { min-width: 11rem; padding: .9rem 1.3rem; }
.contact-page__assurance {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    max-width: 55rem;
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--theme-primary) 17%, #fff);
    border-radius: .8rem;
    background: rgba(255, 255, 255, .58);
    font-size: .9rem;
    line-height: 1.55;
}
.contact-page__assurance i { margin-top: .15rem; font-size: 1.1rem; }

@media (max-width: 991px) {
    .contact-page__intro h1 { max-width: 15ch; }
    .contact-page__reply-note { margin-top: .5rem; }
}
@media (max-width: 575px) {
    .contact-page { padding: 3.5rem 0; }
    .contact-page__intro { margin-bottom: 2.5rem; }
    .contact-page__details,
    .contact-page__form-card { padding: 1.5rem; }
    .contact-page .contact-page__submit { width: 100%; }
}

/* Blog cards */
.blog-card {
    border-color: color-mix(in srgb, var(--theme-primary) 26%, #fff) !important;
    background: #fff !important;
    box-shadow: 0 14px 32px color-mix(in srgb, var(--theme-deep) 9%, transparent) !important;
}
.blog-card:hover {
    border-color: var(--theme-primary) !important;
    box-shadow: 0 20px 38px color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
}
.blog-card .blog-card__title > a,
.blog-card .blog-card__title > a:link,
.blog-card .blog-card__title > a:visited,
.blog-card .blog-card__title > a:active { color: var(--theme-deep) !important; }
.blog-card .blog-card__title > a:hover { color: var(--theme-primary) !important; }
.blog-card .blog-card__meta,
.blog-card .blog-card__meta li,
.blog-card .blog-card__meta li a,
.blog-card .blog-card__meta li i { color: var(--theme-primary) !important; }

/* Blog detail */
.blog-detail-section {
    background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 7%, #fff), #fff 42%) !important;
}
.blog-detail-section .blog-details-wrapper,
.blog-detail-section .sidebar .widget {
    background: #fff !important;
    border-color: color-mix(in srgb, var(--theme-primary) 22%, #fff) !important;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-deep) 9%, transparent) !important;
}
.blog-detail-section .blog-details__content {
    background: #fff !important;
    color: color-mix(in srgb, var(--theme-deep) 72%, #fff) !important;
}
.blog-detail-section .blog-details__content .blog-details__title,
.blog-detail-section .blog-details__content h1,
.blog-detail-section .blog-details__content h2,
.blog-detail-section .blog-details__content h3,
.blog-detail-section .blog-details__content h4,
.blog-detail-section .blog-details__content h5,
.blog-detail-section .blog-details__content h6 { color: var(--theme-deep) !important; }
.blog-detail-section .blog-details__content p,
.blog-detail-section .blog-details__content li { color: color-mix(in srgb, var(--theme-deep) 70%, #fff) !important; }
.blog-detail-section .blog-details__content a { color: var(--theme-primary) !important; }
.blog-detail-section .blog-details__thumb .post__date .date {
    background: var(--theme-primary) !important;
    color: #fff !important;
}
.blog-detail-section .blog-details__thumb .post__date .month {
    background: var(--theme-deep) !important;
    color: #fff !important;
}
.blog-detail-section blockquote {
    background: linear-gradient(135deg, var(--theme-deep), var(--theme-dark)) !important;
    color: #fff !important;
}
.blog-detail-section .sidebar .widget-title {
    color: var(--theme-deep) !important;
}
.blog-detail-section .sidebar .widget-title::before { background: var(--theme-primary) !important; }
.blog-detail-section .small-post-list .small-post-single {
    border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important;
}
.blog-detail-section .small-post-list .small-post-single .content,
.blog-detail-section .small-post-list .small-post-single .content .post-title > a {
    color: color-mix(in srgb, var(--theme-deep) 72%, #fff) !important;
}
.blog-detail-section .small-post-list .small-post-single .content .post-title > a:hover {
    color: var(--theme-primary) !important;
}
.blog-detail-section .small-post-list .small-post-single .content {
    font-size: .78rem;
}

/* Lottery directory */
.contest-directory { background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 8%, #fff), #fff 48%) !important; }
.lottery-page__eyebrow { color: var(--theme-primary) !important; }
.lottery-page__intro h1,
.lottery-page__empty h2 { color: var(--theme-deep) !important; }
.lottery-page__intro p,
.lottery-page__toolbar,
.lottery-page__toolbar-message,
.lottery-page__empty p { color: color-mix(in srgb, var(--theme-deep) 68%, #fff) !important; }
.lottery-page__intro-note {
    border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important;
    color: var(--theme-dark) !important;
    background: color-mix(in srgb, var(--theme-soft) 10%, #fff) !important;
}
.lottery-page__intro-note i,
.lottery-page__count,
.lottery-page__toolbar-message i { color: var(--theme-primary) !important; }
.lottery-page__intro-note i,
.lottery-page__empty > i { background: color-mix(in srgb, var(--theme-soft) 20%, #fff) !important; }
.lottery-page__toolbar { border-color: color-mix(in srgb, var(--theme-primary) 16%, #fff) !important; }
.lottery-page__empty {
    border-color: color-mix(in srgb, var(--theme-primary) 26%, #fff) !important;
    background: color-mix(in srgb, var(--theme-soft) 6%, #fff) !important;
}
.lottery-page__empty > i { color: var(--theme-primary) !important; }

/* Authentication */
.auth-page { position: relative; min-height: calc(100vh - 82px); padding: 72px 0 86px; overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 12%, #fff), #fff 55%, color-mix(in srgb, var(--theme-primary) 7%, #fff)) !important; }
.auth-page .container { position: relative; z-index: 1; max-width: 1180px; }
.auth-page__shell { overflow: hidden; border: 1px solid #e4ebf5; border-radius: 22px; background: #fff; }
.auth-page__welcome { height: 100%; min-height: 560px; padding: 48px 42px; }
.auth-page__welcome h1 { margin: 14px 0 18px; color: #fff; font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 800; line-height: 1.08; letter-spacing: -.045em; }
.auth-page__welcome p { margin: 0 0 20px; font-size: .95rem; line-height: 1.75; }
.auth-page__highlights { display: grid; gap: 12px; margin: 24px 0 34px; }
.auth-page__highlights span { color: color-mix(in srgb, var(--theme-soft) 58%, #fff); font-size: .82rem; }
.auth-page__form-panel { min-height: 560px; padding: 42px 46px; background: #fff; }
.auth-page__form-heading { margin-bottom: 26px; }
.auth-page__form-heading h2 { margin: 6px 0 6px; font-size: clamp(1.65rem, 2.5vw, 2.25rem); font-weight: 800; letter-spacing: -.035em; }
.auth-page__form-heading p { margin: 0; font-size: .85rem; }
.auth-page__field { margin-bottom: 16px; }
.auth-page__field > label { display: block; margin-bottom: 7px; font-size: .74rem; font-weight: 800; }
.auth-page .custom--field { position: relative; }
.auth-page .custom--field .form--control { width: 100%; min-height: 52px; padding: 0 16px 0 48px; border: 1px solid #d9e3f0 !important; border-radius: 9px; background: #fff !important; font-size: .84rem; }
.auth-page .custom--field i { position: absolute; top: 50%; left: 17px; z-index: 1; transform: translateY(-50%); font-size: 1.1rem; }
.auth-page .auth-page__submit { min-height: 50px; padding: 0 24px; border-radius: 9px; font-size: .85rem; font-weight: 800; }
.auth-page__options { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 4px 0 22px; font-size: .74rem; }
.auth-page__check { display: inline-flex; align-items: center; gap: 7px; }
.auth-page__check input { width: 15px; height: 15px; }
.auth-page__switch { font-size: .8rem !important; }
@media (max-width: 991px) { .auth-page { padding: 40px 0 60px; } .auth-page__welcome,.auth-page__form-panel { min-height: 0; } .auth-page__welcome { padding: 34px 30px; } .auth-page__form-panel { padding: 34px 30px; } }
@media (max-width: 575px) { .auth-page { padding: 24px 0 42px; } .auth-page__welcome,.auth-page__form-panel { padding: 28px 20px; } .auth-page__welcome h1 { font-size: 2.25rem; } .auth-page__options { align-items: flex-start; flex-direction: column; } }
.auth-page::before { border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; box-shadow: 0 0 0 55px color-mix(in srgb, var(--theme-primary) 7%, transparent), 0 0 0 110px color-mix(in srgb, var(--theme-primary) 4%, transparent) !important; }
.auth-page::after { background: radial-gradient(circle, color-mix(in srgb, var(--theme-primary) 18%, transparent), transparent 68%) !important; }
.auth-page__shell { border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important; box-shadow: 0 26px 65px color-mix(in srgb, var(--theme-deep) 12%, transparent) !important; }
.auth-page__welcome { color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; background: linear-gradient(145deg, var(--theme-deep), var(--theme-dark)) !important; }
.auth-page__eyebrow { color: var(--theme-primary) !important; }
.auth-page__welcome .auth-page__eyebrow, .auth-page__highlights i, .auth-page__switch a:hover { color: var(--theme-soft) !important; }
.auth-page__welcome p { color: color-mix(in srgb, var(--theme-soft) 58%, #fff) !important; }
.auth-page__form-heading h2 { color: var(--theme-deep) !important; }
.auth-page__form-heading p { color: color-mix(in srgb, var(--theme-deep) 65%, #fff) !important; }
.auth-page__field > label, .auth-page__check { color: var(--theme-dark) !important; }
.auth-page .custom--field .form--control, .auth-page .input-group .form--control, .auth-page .input-group-text { border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; color: var(--theme-deep) !important; }
.auth-page .custom--field .form--control:focus, .auth-page .input-group .form--control:focus { border-color: var(--theme-primary) !important; box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--theme-primary) 14%, transparent) !important; }
.auth-page .custom--field i, .auth-page .custom--field:focus-within i, .auth-page__options > a { color: var(--theme-primary) !important; }
.auth-page__check input { accent-color: var(--theme-primary) !important; }

/* Signed-in user dashboard */
.header-mobile-actions { display: none; }
.user-dashboard-layout { display: flex; min-height: calc(100vh - 78px); }
.user-dashboard-layout__content { flex: 1; min-width: 0; }
.user-dashboard-layout__content .main-wrapper { width: 100%; }
.user-sidebar { position: fixed; top: 78px; bottom: 0; left: 0; z-index: 1040; display: flex; width: 270px; flex-direction: column; padding: 1.15rem .9rem; overflow-y: auto; color: #fff; }
.user-sidebar__head { display: flex; align-items: center; gap: .65rem; padding: .65rem .55rem 1.05rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.user-sidebar__avatar { display: grid; flex: 0 0 39px; width: 39px; height: 39px; place-items: center; border-radius: 12px; color: #fff; font-weight: 800; }
.user-sidebar__head div:nth-child(2) { min-width: 0; flex: 1; }
.user-sidebar__head span,.user-sidebar__head strong,.user-sidebar__head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-sidebar__head span { font-size: .62rem; opacity: .7; }.user-sidebar__head strong { margin: .1rem 0; font-size: .8rem; }.user-sidebar__head small { font-size: .58rem; opacity: .55; }
.user-sidebar__close { display: none; border: 0; color: #fff; background: transparent; font-size: 1.15rem; }
.user-sidebar__nav { display: grid; gap: .2rem; padding: 1rem 0; }
.user-sidebar__nav>a,.user-sidebar__dropdown summary { display: flex; align-items: center; gap: .65rem; min-height: 37px; padding: .55rem .7rem; border-radius: 8px; color: color-mix(in srgb,var(--theme-soft) 60%,#fff); font-size: .74rem; cursor: pointer; }
.user-sidebar__nav>a i,.user-sidebar__dropdown summary>i:first-child { width: 17px; color: color-mix(in srgb,var(--theme-soft) 75%,#fff); text-align: center; }
.user-sidebar__nav>a:hover,.user-sidebar__dropdown summary:hover,.user-sidebar__nav>a.active { color: #fff; background: color-mix(in srgb,var(--theme-primary) 40%,transparent); }
.user-sidebar__group { margin: .95rem .7rem .25rem; color: color-mix(in srgb,var(--theme-soft) 44%,#fff); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.user-sidebar__dropdown summary { list-style: none; }.user-sidebar__dropdown summary::-webkit-details-marker { display: none; }.user-sidebar__chevron { margin-left: auto; font-size: .7rem; transition: transform .2s; }.user-sidebar__dropdown[open] .user-sidebar__chevron { transform: rotate(180deg); }
.user-sidebar__submenu { display: grid; gap: .15rem; margin: .15rem 0 .3rem 1.45rem; padding-left: .55rem; border-left: 1px solid rgba(255,255,255,.2); }.user-sidebar__submenu a { display: flex; align-items: center; gap: .45rem; padding: .35rem .45rem; color: color-mix(in srgb,var(--theme-soft) 52%,#fff); font-size: .68rem; }.user-sidebar__submenu a:hover,.user-sidebar__submenu a.active { color: #fff; }
.user-sidebar__footer { margin-top: auto; padding: .8rem .55rem 0; border-top: 1px solid rgba(255,255,255,.15); }.user-sidebar__footer button { width: 100%; padding: .55rem .7rem; border-radius: 8px; color: color-mix(in srgb,var(--theme-soft) 65%,#fff); text-align: left; font-size: .74rem; }.user-sidebar__footer button:hover { color: #fff; background: color-mix(in srgb,var(--theme-primary) 40%,transparent); }
.user-dashboard-layout__content { margin-left: 270px; }.user-sidebar-backdrop { display: none; }
.user-dashboard-layout__content > section { min-width: 0; }
.user-dashboard-layout__content .container { width: 100%; }
body:has(.user-dashboard-layout) { overflow-x: hidden; }
body:has(.user-dashboard-layout) .footer { margin-left: 270px; }
.dashboard-page-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.25rem auto 0; max-width: 1500px; padding: 1.25rem 1.5rem; border: 1px solid #dce7f6; border-radius: 16px; background: #fff; }.dashboard-page-header h1 { margin: .2rem 0; color: var(--theme-deep); font-size: 1.45rem; font-weight: 800; }.dashboard-page-header p { margin: 0; color: #71809a; font-size: .76rem; }.dashboard-page-header__eyebrow { color: var(--theme-primary); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.dashboard-page-header__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; color: #fff; background: var(--theme-primary); }
@media(max-width:991px){.header-mobile-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.user-dashboard-layout__content{margin-left:0}.user-sidebar{top:0;width:285px;transform:translateX(-105%);transition:transform .25s ease}.user-sidebar.is-open{transform:translateX(0)}.user-sidebar__close{display:block}.user-sidebar-backdrop.is-visible{position:fixed;inset:0;z-index:1039;display:block;background:rgba(0,0,0,.45)}.dashboard-page-header{margin:1rem 1rem 0}}
@media(max-width:991px){body:has(.user-dashboard-layout) .footer{margin-left:0}}
@media(max-width:575px){.dashboard-page-header{align-items:flex-start;padding:1rem;}.dashboard-page-header__icon{display:none}}
.user-dashboard-layout { background: color-mix(in srgb, var(--theme-soft) 8%, #fff) !important; }
.user-dashboard-layout::before, .user-sidebar { background: linear-gradient(170deg, var(--theme-deep), var(--theme-dark) 62%, var(--theme-primary)) !important; }
.user-sidebar { box-shadow: 12px 0 28px color-mix(in srgb, var(--theme-deep) 12%, transparent) !important; }
.user-sidebar__avatar { background: linear-gradient(135deg, var(--theme-soft), var(--theme-primary)) !important; }
.user-sidebar__head span, .user-sidebar__head small, .user-sidebar__nav a, .user-sidebar__nav a i, .user-sidebar__group, .user-sidebar__footer i { color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; }
.user-sidebar-toggle { background: var(--theme-primary) !important; box-shadow: 0 9px 20px color-mix(in srgb, var(--theme-deep) 26%, transparent) !important; }
.user-sidebar-backdrop.is-visible { background: color-mix(in srgb, var(--theme-deep) 55%, transparent) !important; }
@media (max-width: 1199px) {
    .header-mobile-actions {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-left: auto;
    }
    .header-account-toggle {
        position: static !important;
        display: inline-flex !important;
        align-items: center;
        gap: .35rem;
        padding: .55rem .7rem;
        border: 1px solid color-mix(in srgb, var(--theme-soft) 42%, transparent) !important;
        border-radius: .6rem;
        color: #fff;
        background: color-mix(in srgb, var(--theme-primary) 18%, transparent) !important;
        box-shadow: none !important;
        font-size: .74rem;
        font-weight: 800;
    }
    .header-account-toggle i { font-size: 1.05rem; }
    .header-mobile-actions .navbar-toggler { margin: 0; }
    .user-sidebar { z-index: 1052 !important; }
    .user-sidebar-backdrop.is-visible { z-index: 1051 !important; }
}
@media (min-width: 1200px) {
    .header-mobile-actions .header-account-toggle { display: none !important; }
}
.dashboard-page-header { border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; background: linear-gradient(110deg, var(--theme-deep), var(--theme-dark) 54%, var(--theme-primary)) !important; box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-deep) 18%, transparent) !important; }
.dashboard-page-header h1 { color: #fff !important; }
.dashboard-page-header__eyebrow, .dashboard-page-header p { color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; }

/* Dashboard home */
.lotto-command { color: var(--theme-deep) !important; background: radial-gradient(circle at 96% 2%, color-mix(in srgb, var(--theme-primary) 12%, transparent), transparent 19rem), linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 8%, #fff), #fff 46%) !important; }
.lotto-command__hero, .lotto-command__wallet, .lotto-command__next-step { background: linear-gradient(120deg, var(--theme-deep), var(--theme-dark) 55%, var(--theme-primary)) !important; box-shadow: 0 22px 46px color-mix(in srgb, var(--theme-deep) 20%, transparent) !important; }
.lotto-command__eyebrow, .lotto-command__metric em, .lotto-command__draw-info > span, .lotto-command__section-heading > a, .lotto-command__empty a, .lotto-command__past article > i { color: var(--theme-primary) !important; }
.lotto-command__hero .lotto-command__eyebrow, .lotto-command__next-step .lotto-command__eyebrow, .lotto-command__wallet-main span, .lotto-command__wallet-copy i { color: var(--theme-soft) !important; }
.lotto-command__hero-orb { background: radial-gradient(circle at 33% 28%, var(--theme-soft), var(--theme-primary) 65%, var(--theme-dark)) !important; box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-deep) 30%, transparent), inset 0 2px 2px rgba(255,255,255,.22) !important; }
.lotto-command__hero-orb span, .lotto-command__hero-note > i, .lotto-command__hero-note span { color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; }
.lotto-command__primary, .lotto-command__wallet-actions a:first-child, .lotto-command__next-step > a { color: var(--theme-dark) !important; }
.lotto-command__verify { border-color: color-mix(in srgb, var(--theme-primary) 26%, #fff) !important; background: color-mix(in srgb, var(--theme-soft) 10%, #fff) !important; }
.lotto-command__verify--pending { border-color: color-mix(in srgb, var(--theme-primary) 22%, #fff) !important; background: color-mix(in srgb, var(--theme-primary) 7%, #fff) !important; }
.lotto-command__verify-icon, .lotto-command__verify--pending .lotto-command__verify-icon, .lotto-command__metric-icon, .lotto-command__metric-icon--rose, .lotto-command__metric-icon--gold, .lotto-command__date, .lotto-command__empty > span, .lotto-command__past header > a, .lotto-command__past-empty i { color: var(--theme-primary) !important; background: color-mix(in srgb, var(--theme-soft) 20%, #fff) !important; }
.lotto-command__verify a, .lotto-command__round-link { color: var(--theme-primary) !important; }
.lotto-command__metric, .lotto-command__activity, .lotto-command__past { border-color: color-mix(in srgb, var(--theme-primary) 16%, #fff) !important; }
.lotto-command__metric, .lotto-command__metric:hover { color: var(--theme-deep) !important; }
.lotto-command__metric strong, .lotto-command__section-heading h2, .lotto-command__past h2, .lotto-command__draw-info h3, .lotto-command__transaction h3, .lotto-command__empty h3, .lotto-command__refer h2 { color: var(--theme-deep) !important; }
.lotto-command__tabs { background: color-mix(in srgb, var(--theme-soft) 13%, #fff) !important; }
.lotto-command__tabs button.is-active { color: var(--theme-dark) !important; }
.lotto-command__draw-status, .lotto-command .is-debit { color: var(--theme-dark) !important; background: color-mix(in srgb, var(--theme-soft) 20%, #fff) !important; }
.lotto-command__round-link:hover, .lotto-command__refer-link button { color: #fff !important; background: var(--theme-primary) !important; }
.lotto-command__refer { border-color: color-mix(in srgb, var(--theme-primary) 16%, #fff) !important; background: linear-gradient(100deg, color-mix(in srgb, var(--theme-soft) 12%, #fff), #fff) !important; }
.lotto-command__refer-link { border-color: color-mix(in srgb, var(--theme-primary) 22%, #fff) !important; }

/* Shared account pages: tickets, wins, deposits, KYC, referrals and support */
.account-wrapper,
.custom__bg,
.dashboard-card,
.ticket-card,
.ticket-reply,
.support-ticket-card {
    color: #fff !important;
    background: linear-gradient(145deg, var(--theme-deep), var(--theme-dark)) !important;
    border-color: color-mix(in srgb, var(--theme-primary) 48%, #fff) !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--theme-deep) 24%, transparent) !important;
}

.account-wrapper .form--control,
.account-wrapper .form-select,
.custom__bg .form--control,
.custom__bg .form-select,
.account-wrapper .input-group-text,
.custom__bg .input-group-text {
    color: var(--theme-deep) !important;
    background: #fff !important;
    border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important;
}
.account-wrapper .form--control:focus,
.custom__bg .form--control:focus { border-color: var(--theme-primary) !important; box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--theme-primary) 14%, transparent) !important; }
.account-wrapper .form-label,
.account-wrapper label,
.custom__bg label { color: color-mix(in srgb, var(--theme-soft) 62%, #fff) !important; }

.custom--table { border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important; box-shadow: 0 14px 32px color-mix(in srgb, var(--theme-deep) 8%, transparent) !important; }
.custom--table thead { background: color-mix(in srgb, var(--theme-soft) 16%, #fff) !important; }
.custom--table th { color: var(--theme-dark) !important; }
.custom--table td,
.custom--table th { border-color: color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; }
.custom--table tbody td { color: var(--theme-deep) !important; background: #fff !important; }
.custom--table tbody td b { color: var(--theme-deep) !important; }
.custom--table tbody td small { color: color-mix(in srgb, var(--theme-deep) 58%, #94a3b8) !important; }
.custom--table tbody td .win-game-code { color: var(--theme-deep) !important; }
.custom--table tbody tr { background: #fff !important; }
.custom--table tbody td[colspan] { color: var(--theme-dark) !important; background: color-mix(in srgb, var(--theme-soft) 16%, #fff) !important; }
.custom--table tbody tr:hover { background: color-mix(in srgb, var(--theme-soft) 7%, #fff) !important; }

.form--control,
.form-control,
.form-select { border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; }
.form--control:focus,
.form-control:focus,
.form-select:focus { border-color: var(--theme-primary) !important; box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--theme-primary) 14%, transparent) !important; }
.input-group-text:not(.bg-primary) { color: var(--theme-dark) !important; background: color-mix(in srgb, var(--theme-soft) 14%, #fff) !important; border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; }
.bg-primary { background-color: var(--theme-primary) !important; color: #fff !important; }
.text-primary { color: var(--theme-primary) !important; }

/* Theme-aware identity verification */
.kyc-page { background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 10%, #fff), #fff) !important; }
.kyc-page__hero { background: linear-gradient(115deg, var(--theme-deep), var(--theme-primary) 62%, color-mix(in srgb, var(--theme-soft) 68%, #fff)) !important; box-shadow: 0 16px 32px color-mix(in srgb, var(--theme-primary) 22%, transparent) !important; }
.kyc-page__hero span { color: color-mix(in srgb, var(--theme-soft) 40%, #fff) !important; }
.kyc-page__layout { border-color: color-mix(in srgb, var(--theme-primary) 18%, #fff) !important; box-shadow: 0 18px 42px color-mix(in srgb, var(--theme-deep) 9%, transparent) !important; }
.kyc-page__aside { background: linear-gradient(160deg, var(--theme-deep), var(--theme-dark)) !important; }
.kyc-page__aside p, .kyc-page__aside li { color: color-mix(in srgb, var(--theme-soft) 44%, #fff) !important; }
.kyc-page__aside li i { color: var(--theme-soft) !important; }
.kyc-page__form-head { border-color: color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; }
.kyc-page__form-head h2, .kyc-page__form .form-label { color: var(--theme-dark) !important; }
.kyc-page__form-head p, .kyc-page__form pre, .kyc-page__form .form-check-label { color: color-mix(in srgb, var(--theme-deep) 66%, #fff) !important; }
.kyc-page__form .form--control, .kyc-page__form .form-control, .kyc-page__form select { color: var(--theme-deep) !important; background: #fff !important; border-color: color-mix(in srgb, var(--theme-primary) 24%, #fff) !important; }
.kyc-page__form .form--control:focus, .kyc-page__form .form-control:focus, .kyc-page__form select:focus { border-color: var(--theme-primary) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary) 15%, transparent) !important; }
.kyc-page__form .form-check-input { border-color: color-mix(in srgb, var(--theme-primary) 36%, #fff) !important; }
.kyc-page__form .form-check-input:checked { background-color: var(--theme-primary) !important; border-color: var(--theme-primary) !important; }
.kyc-page__actions { border-color: color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; }
.kyc-page__actions>a { color: var(--theme-dark) !important; }

.list-group-item { border-color: color-mix(in srgb, var(--theme-primary) 14%, #fff) !important; }
.pagination .page-item.active .page-link,
.pagination .page-link:hover { color: #fff !important; background: var(--theme-primary) !important; border-color: var(--theme-primary) !important; }
.pagination .page-link { color: var(--theme-primary) !important; border-color: color-mix(in srgb, var(--theme-primary) 20%, #fff) !important; }

.modal-content { border-color: color-mix(in srgb, var(--theme-primary) 24%, #fff) !important; }
.modal .modal-header { color: #fff !important; background: linear-gradient(120deg, var(--theme-deep), var(--theme-dark)) !important; }
.modal .modal-header .modal-title,
.modal .modal-header .close { color: #fff !important; }
.modal .modal-footer { border-color: color-mix(in srgb, var(--theme-primary) 16%, #fff) !important; }

.treeview ul { border-left-color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; }
.treeview ul li::before { border-top-color: color-mix(in srgb, var(--theme-soft) 60%, #fff) !important; }
.treeview span:not(span.has-node-icon):hover { background: color-mix(in srgb, var(--theme-primary) 13%, transparent) !important; }
.copied::after { color: #fff !important; background-color: var(--theme-primary) !important; }

/* Support ticket detail keeps the account header as the single page heading. */
.support-thread__composer .card-header { background: linear-gradient(110deg, var(--theme-deep), var(--theme-dark) 55%, var(--theme-primary)) !important; }
.support-thread__messages .row.border-primary { background: color-mix(in srgb, var(--theme-soft) 13%, #fff) !important; }
.support-thread__messages .row.border-warning { background: color-mix(in srgb, var(--theme-primary) 7%, #fff) !important; }
