/* Local PHP integration of the reference theme. */
html.tipobet-ui-modern { --ft-green: #0f853d; --ft-green-deep: #0c7434; }
html.tipobet-ui-modern body { color: #243443; background: #eef2f6 !important; background-image: none !important; }
html.tipobet-ui-modern .mobileHeader { top: 0; left: 0; }
html.tipobet-ui-modern .mobileHeader .mh-m__actions { padding-top: 0; }
html.tipobet-ui-modern .mobileHeader .mh-m__ctrl { display: inline-flex !important; }
html.tipobet-ui-modern .mobileHeader .mh-m__ctrl img { width: 20px; height: 20px; }
html.tipobet-ui-modern .mobileHeader .mh-m__lang .lang-btn svg { width: 18px; height: 14px; }
html.tipobet-ui-modern .mobileHeader .mobile-main-menu-trigger { cursor: pointer; }
html.tipobet-ui-modern body.isMobile { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
html.tipobet-ui-modern .home-m--modern { min-height: calc(100vh - 56px); }
html.tipobet-ui-modern .home-m--modern .home-m__wrap { width: 100%; }
html.tipobet-ui-modern .home-m--modern .home-m__grid .smTabs img { height: 28px !important; }
.campaign-slider { position: relative; width: 100%; min-width: 0; border-radius: 14px; overflow: hidden; background: #243443; }
.campaign-track { display: flex; gap: 16px; }
.campaign-slide { display: none; width: 100%; flex: 0 0 100%; }
.campaign-slide.is-active { display: block; order: 0; }
.campaign-slide img { display: block; width: 100%; height: auto; aspect-ratio: 950 / 450; object-fit: cover; }
.campaign-prev, .campaign-next { position: absolute; top: 50%; transform: translateY(-50%); width: 24px; height: 36px; padding: 0; border: 0; color: white; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; text-shadow: 0 1px 3px #243443; }
.campaign-prev { left: 0; } .campaign-next { right: 0; }
.campaign-dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 0; }
.campaign-dots button { border: 0; padding: 4px; background: transparent; cursor: pointer; line-height: 0; }
.campaign-dots button::after { content: ''; display: block; width: 6px; height: 6px; background: rgba(255,255,255,.42); border-radius: 1px; }
.campaign-dots button[aria-current="true"]::after { background: #0f853d; }
.campaign-slider:focus-visible, .campaign-slider button:focus-visible, .guest-dock a:focus-visible { outline: 2px solid #65d995; outline-offset: -2px; }
.guest-dock { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1040; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); height: calc(58px + env(safe-area-inset-bottom, 0px)); padding: 8px 6px calc(5px + env(safe-area-inset-bottom, 0px)); border-radius: 10px 10px 0 0; background: linear-gradient(180deg,#14a04a 0%,#0f853d 42%,#0c7434 100%); box-shadow: inset 0 1px 0 #ffffff2e,0 -8px 24px #0f853d42; }
.guest-dock a { display: flex; align-items: center; flex-direction: column; gap: 3px; color: #fff; text-decoration: none; font-size: 8px; font-weight: 800; line-height: 1.1; white-space: nowrap; }
.guest-dock .dock-icon { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; background: #ffffff24; box-shadow: inset 0 1px 0 #fff3; font-size: 14px; }
.guest-dock a:hover .dock-icon, .guest-dock a:focus-visible .dock-icon { background: #ffffff40; }
html.tipobet-ui-modern .footer-tabs { background: linear-gradient(180deg,#14a04a,#0c7434); border-radius: 10px 10px 0 0; }
html.tipobet-ui-modern .to-header--modern .mainmenu { background: #243443; }
html.tipobet-ui-modern .to-header--modern .mainmenu a { color: #fff; }
html.tipobet-ui-modern .to-header--modern .mainmenu a:hover { background: #0f853d; }
html.tipobet-ui-modern .to-header--modern .header-social { background: #f3f6f9; }
html.tipobet-ui-modern .to-header--modern .hdr-cta--register { background: #0f853d; color: white; }
html.tipobet-ui-modern .to-header--modern .hdr-cta--login { background: #f3f6f9; border: 1px solid #d5e0ea; color: #243443; }
.desktop-home-slider { padding: 16px 0; }
.desktop-home-slider .campaign-slider { background: transparent; overflow: visible; }
.desktop-home-slider .campaign-slide { flex-basis: calc(50% - 8px); width: calc(50% - 8px); border-radius: 14px; overflow: hidden; }
.desktop-home-slider .campaign-slide.is-next { display: block; order: 1; }
.desktop-home-slider .campaign-dots { bottom: 8px; }
html.tipobet-ui-modern .footer-bg { background: #243443; }
@media (min-width: 992px) {
    html.tipobet-ui-modern .container { max-width: 1440px; width: calc(100% - 48px); min-width: 0; }
    html.tipobet-ui-modern .container-main { padding-bottom: 24px; }
    html.tipobet-ui-modern .to-header--modern .mainmenu .container { overflow-x: auto; }
}
@media (max-width: 360px) {
    html.tipobet-ui-modern .mobileHeader .mobile-main-menu-trigger { width: 40px !important; }
    html.tipobet-ui-modern .mobileHeader .mh-m__brand .ml-2 img { width: 90px; }
    html.tipobet-ui-modern .mobileHeader .mh-m__actions { gap: 4px; }
    html.tipobet-ui-modern .mobileHeader { --mh-ctrl: 34px; }
    .campaign-dots button { padding: 3px; }
    .campaign-dots button::after { width: 5px; height: 5px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Keep existing account screens readable on the new light canvas. */
html.tipobet-ui-modern .login-mobile { background: none; color: #243443; padding-bottom: 90px; }
html.tipobet-ui-modern .login-mobile .login-logo svg path:nth-child(2) { fill: #243443; }
html.tipobet-ui-modern .login-mobile .login-logo svg path:nth-child(3) { fill: #0f853d; }
html.tipobet-ui-modern .login-mobile .input-label,
html.tipobet-ui-modern .login-mobile .remember,
html.tipobet-ui-modern .login-mobile .forgot,
html.tipobet-ui-modern .login-mobile a { color: #526577; }
html.tipobet-ui-modern .login-mobile .input-text { color: #243443; border: 1px solid #cbd7e2; border-radius: 12px; background-color: white; }
html.tipobet-ui-modern .login-mobile .input-text::placeholder { color: #6a7a88; }
html.tipobet-ui-modern .login-mobile .login-btn { color: white; background: #0f853d; border-radius: 12px; }
html.tipobet-ui-modern .login-mobile .input-text:focus { outline: 2px solid #0f853d; outline-offset: 2px; }
html.tipobet-ui-modern .t-bottom { display: none; }
html.tipobet-ui-modern header.to-header--modern .hdr-cta--register { background: #0f853d !important; border: 1px solid #0f853d !important; color: white !important; }
html.tipobet-ui-modern header.to-header--modern .hdr-cta--login { background: white !important; color: #243443 !important; }
html.tipobet-ui-modern header.to-header--modern .hdr-cta--login img { filter: brightness(.35); }
