/* Public TopBookie semantic typography. Layout remains in component styles.
   Inter 4.1 is self-hosted; see /fonts/inter/LICENSE.txt. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/inter/InterVariable.woff2?v=4.1') format('woff2');
}
@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/inter/InterVariable-Italic.woff2?v=4.1') format('woff2');
}
.tb-public {
    --tb-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --tb-size-body: .9375rem;
    --tb-size-ui: .875rem;
    --tb-size-meta: .8125rem;
    --tb-size-badge: .75rem;
    --tb-size-card: 1rem;
    --tb-size-sidebar: 1.0625rem;
    --tb-size-h1: 2rem;
    --tb-size-h2: 1.5rem;
    --tb-size-h3: 1.25rem;
    --tb-size-score: 3.25rem;
    --tb-size-stat: 1.75rem;
    --tb-size-compact-score: 1.375rem;
    --tb-leading-body: 1.6;
    --tb-leading-table: 1.5;
    --tb-leading-ui: 1.4;
    --tb-leading-card: 1.35;
    --tb-leading-sidebar: 1.3;
    --tb-leading-subheading: 1.3;
    --tb-leading-heading: 1.25;
    --tb-weight-normal: 400;
    --tb-weight-medium: 500;
    --tb-weight-semibold: 600;
    --tb-weight-bold: 700;
    font-family: var(--tb-font);
    font-size: var(--tb-size-body);
    line-height: var(--tb-leading-body);
    font-weight: var(--tb-weight-normal);
}
.tb-public button, .tb-public input, .tb-public select, .tb-public textarea { font-family: inherit; }
.tb-public p { font-size: var(--tb-size-body); line-height: var(--tb-leading-body); }
/* Restrained fallback for unmapped headings; explicit component roles below
   determine page, section, card and sidebar hierarchy regardless of tag. */
.tb-public :is(h1, h2, h3, h4, h5, h6) { font-size: var(--tb-size-card); line-height: var(--tb-leading-card); font-weight: var(--tb-weight-semibold); }
.tb-public label, .tb-public th { font-size: var(--tb-size-ui); line-height: var(--tb-leading-ui); font-weight: var(--tb-weight-medium); }
.tb-public .btn, .tb-public button { font-size: var(--tb-size-ui); line-height: var(--tb-leading-ui); font-weight: var(--tb-weight-semibold); }
.tb-public small, .tb-public time { font-size: var(--tb-size-meta); line-height: var(--tb-leading-ui); font-weight: var(--tb-weight-normal); }
.tb-public .badge { font-size: var(--tb-size-badge); line-height: var(--tb-leading-ui); font-weight: var(--tb-weight-semibold); }
.tb-public input, .tb-public select, .tb-public textarea, .tb-public .form-control { font-size: var(--tb-size-body); line-height: var(--tb-leading-body); font-weight: var(--tb-weight-normal); }
.tb-public strong, .tb-public b { font-weight: var(--tb-weight-semibold); }
.tb-public :is(h1, h2, h3, h4, h5, h6) :is(strong, b) { font-weight: inherit; }
.tb-public .fa { font-family: FontAwesome; font-weight: normal; }
@media (max-width: 767.98px) {
    .tb-public { --tb-size-h1: 1.75rem; --tb-size-h2: 1.375rem; --tb-size-h3: 1.125rem; --tb-leading-body: 1.55; --tb-size-stat: 1.5rem; --tb-size-compact-score: 1.25rem; }
}

/* Stored editorial HTML: inherit the semantic parent size and public font.
   !important is needed only here to reconcile inline styles from the CMS. */

.tb-public :is(.tb-article-body, .article-content, .tb25-article, .tb25-more-info, .tb12-guide-modal-body, .tbnew-editorial-section, .tbbonuscat-rich, .tb27-editorial) [style*="font-family"], .tb-public :is(.tb-article-body, .article-content, .tb25-article, .tb25-more-info, .tb12-guide-modal-body, .tbnew-editorial-section, .tbbonuscat-rich, .tb27-editorial) font[face] { font-family: inherit !important; }

.tb-public :is(.tb-article-body, .article-content, .tb25-article, .tb25-more-info, .tb12-guide-modal-body, .tbnew-editorial-section, .tbbonuscat-rich, .tb27-editorial) :is(p, li, td, span)[style*="font-size"], .tb-public :is(.tb-article-body, .article-content, .tb25-article, .tb25-more-info, .tb12-guide-modal-body, .tbnew-editorial-section, .tbbonuscat-rich, .tb27-editorial) font[size] { font-size: inherit !important; line-height: inherit !important; }

/* Brand metadata spacing is part of typography, not header geometry. */

.tb-public #MainNav .tb-brand-tagline { letter-spacing: normal; }


/* ui: medium */
.tb-public .btn-custom-sec,
.tb-public .all-news,
.tb-public .links-color-full-list,
.tb-public .tb30-check span:not(.tb30-check-icon),
.tb-public .tb-review-toc-link,
.tb-public .tb-review-toc-editorial-list .tb-review-toc-link,
.tb-public .tbcompare-picker-option,
.tb-public .tb-news-listing-page .left-cat-news-bars,
.tb-public .tb-news-listing-page .tb-most-read-list li > span {
    font-size: var(--tb-size-ui);
    line-height: var(--tb-leading-ui);
    font-weight: var(--tb-weight-medium);
}

/* subsection headings */
.tb-public .article-content h3,
.tb-public .tbbonuscat h3,
.tb-public .tbbonuscat-rich h3,
.tb-public .tb27-editorial h3,
.tb-public .tb25-list h3,
.tb-public .tb25-article h3,
.tb-public .tb25-review-data h3,
.tb-public .tb25-player-reviews h3,
.tb-public .tb25-full-review h3,
.tb-public .tb30-panel-title h3,
.tb-public .tbmon-history-head h3,
.tb-public .tbproviders-info h3,
.tb-public .tbcompare-quick-head h3,
.tb-public .tb12-guide-modal-body h3,
.tb-public .tbnew h3,
.tb-public .tbnew-editorial-section h3,
.tb-public .tbnew-guide .tbnew-editorial-section h3,
.tb-public .tbfinder-logo,
.tb-public .tbfinder-empty h3,
.tb-public .tbslots h3,
.tb-public .tbcalc-formula h3,
.tb-public .tbcheck-item h3,
.tb-public .tbcompare-state h3,
.tb-public .tbcontent12-title,
.tb-public .tb26-status-watch-title,
.tb-public .tb25-bonus-copy h2,
.tb-public .tb-article-body h3 {
    font-size: var(--tb-size-h3);
    line-height: var(--tb-leading-subheading);
    font-weight: var(--tb-weight-semibold);
}

/* card: semibold */
.tb-public .span-in-title,
.tb-public .article-content h4,
.tb-public .tbhome-resource-name,
.tb-public .tbbonuscat-rich h4,
.tb-public .tbbonuscat-rich h5,
.tb-public .tbbonuscat-rich h6,
.tb-public .tb27-lens-item h3,
.tb-public .tb27-step h3,
.tb-public .tb27-offer h3,
.tb-public .tb25-image-fallback strong,
.tb-public .tb25-game-card > strong,
.tb-public .tb25-game-card strong,
.tb-public .tb30-stat strong,
.tb-public .tb-review-related-copy strong,
.tb-public .tb32-payment-title strong,
.tb-public .tbmethod-flow-card h3,
.tb-public .tbmethod-source-card h3,
.tb-public .tbmethod-compare-card h3,
.tb-public .tbproviders-stat strong,
.tb-public .tbprovider-card h2,
.tb-public .tbsearch3-group-head h6,
.tb-public .tb12-guide-tile h3,
.tb-public .tbtrust-home-item h3,
.tb-public .tbcompare-quick-name,
.tb-public .tb12-guide-modal-body h4,
.tb-public .tb12-guide-modal-body h5,
.tb-public .tbnew-faq summary:after,
.tb-public .tbnew-guide .tbnew-editorial-section h4,
.tb-public .tbnew-guide .tbnew-editorial-section h5,
.tb-public .tbnew-guide .tbnew-editorial-section h6,
.tb-public .tb26-name,
.tb-public .tbfinder-card-title h3,
.tb-public #MainNav .tb-status-shield,
.tb-public .tbhome-monitor-count strong,
.tb-public .tbhome-update-copy h3,
.tb-public .tbslots-summary strong,
.tb-public .tbcalc-contribution strong,
.tb-public .tbcompare-vs-circle,
.tb-public .tbcompare-casino-name,
.tb-public .tbcontent12-review-title,
.tb-public .tbcontent12-news-title,
.tb-public .tb-news-listing-page .tb-article-card-title,
.tb-public .tb-news-listing-page .tb-most-read-list li > a,
.tb-public .tb-article-body h4,
.tb-public .tb-article-body h5,
.tb-public .tb-article-body h6,
.tb-public .tb-most-read-list li > a {
    font-size: var(--tb-size-card);
    line-height: var(--tb-leading-card);
    font-weight: var(--tb-weight-semibold);
}

/* ui: normal */
.tb-public #compare_first > tbody > tr > th,
.tb-public #compare_second > tbody > tr > th,
.tb-public button.accept-policy,
.tb-public .header-p,
.tb-public .nav-links-home,
.tb-public .dropdown-item,
.tb-public .dropdown-title,
.tb-public .regular-bets,
.tb-public .mar-bottom,
.tb-public .list-group-item,
.tb-public .footer-links,
.tb-public .text-footer,
.tb-public .footer-p,
.tb-public .top-bookmakers,
.tb-public .counter-text,
.tb-public .country-a,
.tb-public .mar-bot,
.tb-public .text-newsletter,
.tb-public .btn-join,
.tb-public .about-book,
.tb-public table > thead > tr > th,
.tb-public .select-btn,
.tb-public .title-betting,
.tb-public .normalize-font,
.tb-public .normalize-font-right,
.tb-public #rev-nav > #nav-tab > .nav-item,
.tb-public #cookieConsent,
.tb-public #cookieConsent::before,
.tb-public .tb12-resource-card .color-primary,
.tb-public .tbbonuscat-breadcrumb,
.tb-public .tbbonuscat-trust-item > div > span,
.tb-public .tbbonuscat-sort,
.tb-public .tbbonuscat-result-meta,
.tb-public .tbbonuscat-short,
.tb-public .tb27-breadcrumb,
.tb-public .tb27-featured-sub,
.tb-public .tb27-featured-action small,
.tb-public .tb27-keyterm em,
.tb-public .tb27-check span,
.tb-public .tb27-alert,
.tb-public .tb27-offer-facts,
.tb-public .tb27-offer-more > span,
.tb-public .tb27-faq-extra,
.tb-public .tb27-comment-rating,
.tb-public .tb27-side-list span,
.tb-public .tb27-side-note,
.tb-public .tb27-rate-form .form-control,
.tb-public .tb27-review-cta span,
.tb-public .review-method-box,
.tb-public .review-source-box,
.tb-public .casino-status-box,
.tb-public .tb25-breadcrumb,
.tb-public .tb25-feature span,
.tb-public .tb25-image-fallback span,
.tb-public .tb25-game-card > span,
.tb-public .tb25-full-review > summary small,
.tb-public .tb25-article th,
.tb-public .tb25-player-reviews article span,
.tb-public .tb25-info-list span,
.tb-public .tb25-highlights > div,
.tb-public .tb25-game-card span,
.tb-public .tb30-check small,
.tb-public .tb30-stat span,
.tb-public .tb30-panel-title > span,
.tb-public .tb30-method-row > div > span,
.tb-public .tb30-detail-list span,
.tb-public .tb30-terms-grid span,
.tb-public .tb30-protection-list div div span,
.tb-public .tb30-complaint-cta small,
.tb-public .tb-review-tool-copy p,
.tb-public .tb-review-related-heading-copy span,
.tb-public .tbmethod-breadcrumb,
.tb-public .tbmethod-hero-note,
.tb-public .tbmethod-step,
.tb-public .tbmethod-label-row span,
.tb-public .tbmon-summary span,
.tb-public .tbmon-source-copy span,
.tb-public .tbmon-source-link,
.tb-public .tbmon-value span,
.tb-public .tbproviders-stat span,
.tb-public .tbproviders-sort,
.tb-public .tbprovider-fact span,
.tb-public .tbsearch3-empty span,
.tb-public .tb12-trust-card small,
.tb-public .tb12-guide-full,
.tb-public .tb12-newsletter #SubForm h2::after,
.tb-public .tb12-resource-card .bonus-right-a,
.tb-public .tb12-resource-card .color-black,
.tb-public .tbcompare-home-chevron,
.tb-public .tbcompare-quick-status,
.tb-public .tbcompare-quick-verdict,
.tb-public .tb-footer-dynamic .footer-links,
.tb-public .tb-footer-company-links a,
.tb-public .tb-footer-company-links button,
.tb-public .tbnew-breadcrumb,
.tb-public .tbnew-hero-meta,
.tb-public .tbnew-trust-item > div > span,
.tb-public .tbnew-sort,
.tb-public .tbnew-result-meta,
.tb-public .tbnew-status,
.tb-public .tbnew-note,
.tb-public .tbnew-feature,
.tb-public .tbnew-standout-card > div > span,
.tb-public .tb26-verified,
.tb-public .tb26-terms a,
.tb-public .tb26-table-check,
.tb-public .tbfinder-input,
.tb-public .tbfinder-rating,
.tb-public .tbfinder-match,
.tb-public .tbmon-review-stat span,
.tb-public #MainNav .tb-search-open,
.tb-public #MainNav .tb-status-pill span,
.tb-public #MainNav .tb-search-open span,
.tb-public #MainNav .tb-player-tools-foot,
.tb-public .tbhome-monitor-empty span,
.tb-public .tbslots-summary span,
.tb-public .tbslots-summary small,
.tb-public .tbslots-facts span,
.tb-public .tbslots-empty-state code,
.tb-public .tb-modern-modal .tb-modal-subtitle,
.tb-public .tb-modern-modal .tb-input,
.tb-public .tb-modern-modal .tb-textarea,
.tb-public .tb-modern-feedback .alert,
.tb-public .tbcalc-input,
.tb-public .tbcalc-result-item span,
.tb-public .tbcalc-contribution span,
.tb-public .tbcalc-example-box,
.tb-public .tbcalc-warning,
.tb-public .tbcalc-invalid,
.tb-public .tbcheck-example,
.tb-public .tbcheck-domain,
.tb-public .tbcheck-result-score span,
.tb-public .tbcheck-note,
.tb-public .tbcompare-breadcrumb {
    font-size: var(--tb-size-ui);
    line-height: var(--tb-leading-ui);
    font-weight: var(--tb-weight-normal);
}

/* body: normal */
.tb-public .blockquote-custom,
.tb-public .left-cat-news-bars,
.tb-public .input-field-search,
.tb-public .dropdown-item-custom,
.tb-public .article-content,
.tb-public .article-content p,
.tb-public .article-content li,
.tb-public .tbhome-resource-offer,
.tb-public .tbbonuscat-hero-copy > p,
.tb-public .tbbonuscat-intro-copy p,
.tb-public .tbbonuscat-mini p,
.tb-public .tbbonuscat-search input,
.tb-public .tbbonuscat-method-intro p,
.tb-public .tbbonuscat-method-item p,
.tb-public .tbbonuscat-choice-card p,
.tb-public .tbbonuscat-tool-card p,
.tb-public .tbbonuscat-choice-list li,
.tb-public .tbbonuscat-rich,
.tb-public .tbbonuscat-rich p,
.tb-public .tbbonuscat-rich li,
.tb-public .tbbonuscat-empty,
.tb-public .tb27-title p,
.tb-public .tb27-card-head p,
.tb-public .tb27-lens-item p,
.tb-public .tb27-step p,
.tb-public .tb27-offer-description,
.tb-public .tb27-editorial,
.tb-public .tb27-faq .card-body,
.tb-public .tb27-comment p,
.tb-public .tb27-coverage-copy p,
.tb-public .tb27-tool p,
.tb-public .tb27-rate-details summary::after,
.tb-public .tb25-hero-copy > p,
.tb-public .tb25-verdict-copy p,
.tb-public .tb25-section-head p,
.tb-public .tb25-experience-copy > p,
.tb-public .tb25-list li,
.tb-public .tb25-empty,
.tb-public .tb25-method-note p,
.tb-public .tb25-article,
.tb-public .tb25-data-row,
.tb-public .tb25-player-reviews article > p,
.tb-public .tb25-rate-form > p,
.tb-public .tb25-rate-form input[type="text"],
.tb-public .tb25-rate-form input[type="email"],
.tb-public .tb25-rate-form textarea,
.tb-public .tb25-article p,
.tb-public .tb25-more-info,
.tb-public .tb25-more-info p,
.tb-public .tb25-rate-form input,
.tb-public .tb30-safety-head p,
.tb-public .tb30-panel-title p,
.tb-public .tb30-empty-line,
.tb-public .tb30-before-grid p,
.tb-public .tb-review-editorial-toggle,
.tb-public .tb-review-related-empty,
.tb-public .tbmethod-hero p,
.tb-public .tbmethod-section-head p,
.tb-public .tbmethod-copy,
.tb-public .tbmethod-flow-card p,
.tb-public .tbmethod-source-card p,
.tb-public .tbmethod-cta p,
.tb-public .tbmon-detail-head p,
.tb-public .tbmon-history-head p,
.tb-public .tbmon-change p,
.tb-public .tbmon-empty,
.tb-public .tbproviderdetail-copy p,
.tb-public .tbproviders-hero-copy > p,
.tb-public .tbproviders-search input,
.tb-public .tbproviders-info p,
.tb-public .tbproviders-empty,
.tb-public .tbsearch3-thumb,
.tb-public .tb12-copy,
.tb-public .tb12-guide-head p,
.tb-public .tb12-guide-summary,
.tb-public .tb12-guide-full p,
.tb-public .tb12-guide-full li,
.tb-public .tb12-newsletter #SubForm input,
.tb-public .tb12-flow,
.tb-public .tb12-hero,
.tb-public .tbtrust-home-head > p,
.tb-public .tbtrust-home-item p,
.tb-public .tbcompare-home-copy > p,
.tb-public .tbcompare-quick-head p,
.tb-public .tbcompare-quick-message,
.tb-public .tbcompare-picker-empty,
.tb-public .tb12-resource-custom-head p,
.tb-public .tb12-guide-modal-body,
.tb-public .tb12-guide-modal-body p,
.tb-public .tb12-guide-modal-body li,
.tb-public .tbnew-hero p,
.tb-public .tbnew-definition-copy .article-content,
.tb-public .tbnew-mini p,
.tb-public .tbnew-search input,
.tb-public .tbnew-method-intro p,
.tb-public .tbnew-method-item p,
.tb-public .tbnew-choice-card p,
.tb-public .tbnew-monitor p,
.tb-public .tbnew-list li,
.tb-public .tbnew-guide,
.tb-public .tbnew-editorial-section p,
.tb-public .tbnew-editorial-section li,
.tb-public .tbnew-faq-intro,
.tb-public .tbnew-empty,
.tb-public .tbnew-guide .tbnew-editorial-section p,
.tb-public .tbnew-guide .tbnew-editorial-section li,
.tb-public .tbnew-definition-copy .article-content p,
.tb-public .tbnew-definition-copy .article-content li,
.tb-public .tb26-subtitle,
.tb-public .tb26-status-watch-copy,
.tb-public .tbfinder-select,
.tb-public .tbfinder-empty p,
.tb-public #MainNav .tb-status-copy,
.tb-public #SearchModalCenter .tb-search-input,
.tb-public #SearchModalCenter .tb-search-heading p,
.tb-public .tb-header-v2,
.tb-public .tbhome-monitor-intro,
.tb-public .tbhome-update-copy p,
.tb-public .tbslots-head p,
.tb-public .tbslots-empty-state p,
.tb-public .tbslots-search input,
.tb-public .tbcalc-hero p,
.tb-public .tbcalc-card-head p,
.tb-public .tbcalc-select,
.tb-public .tbcalc-result-copy,
.tb-public .tbcalc-contribution p,
.tb-public .tbcalc-formula p,
.tb-public .tbcheck-hero-copy,
.tb-public .tbcheck-search input,
.tb-public .tbcheck-section-head p,
.tb-public .tbcheck-summary,
.tb-public .tbcheck-empty p,
.tb-public .tbcompare-hero-copy > p,
.tb-public .tbcompare-selector-head p,
.tb-public .tbcompare-select,
.tb-public .tbcompare-state p,
.tb-public .tbcompare-help-card p,
.tb-public .tbfinder-hero p,
.tb-public .tbcontent12-subtitle,
.tb-public .bonus-p,
.tb-public .tb-news-listing-page .tb-article-description,
.tb-public .tb-news-listing-page #SubForm input,
.tb-public .tb-news-listing-page .tb-sidebar-form select,
.tb-public .tb-article-body,
.tb-public .tb-article-body p,
.tb-public .tb-article-body li,
.tb-public .tb-articles-newsletter p,
.tb-public .tb-footer-brand-copy,
.tb-public .tb-footer-editorial,
.tb-public .tbnew-faq-answer,
.tb-public .tbcompare-message,
.tb-public :is(.tb25-article, .tb-article-body) h2:has(> span[style="font-size:14px"]:only-child):not(:has(strong, b)) {
    font-size: var(--tb-size-body);
    line-height: var(--tb-leading-body);
    font-weight: var(--tb-weight-normal);
}

/* body: semibold */
.tb-public .span-title-home,
.tb-public .tb27-keyterm strong,
.tb-public .tb27-rate-details summary,
.tb-public .tb25-score-empty,
.tb-public .tb25-bonus-copy > p,
.tb-public .tb30-method-row > div > strong,
.tb-public .tbprovider-mark,
.tb-public .tbsearch3-empty strong,
.tb-public .tb12-guide-tile summary,
.tb-public .tb12-resource-card .gradient-color,
.tb-public .tbcompare-quick-logo span,
.tb-public .tbcompare-quick-score strong,
.tb-public .tbnew-faq summary,
.tb-public .tb26-bonus-main,
.tb-public .tb26-status-casino a,
.tb-public .tbmon-review-head strong,
.tb-public .tbcalc-result-item strong,
.tb-public .tbcheck-item-value,
.tb-public .tb-news-listing-page .tb-offer-item strong,
.tb-public .tb-news-listing-page .tb-bonus-copy {
    font-size: var(--tb-size-body);
    line-height: var(--tb-leading-body);
    font-weight: var(--tb-weight-semibold);
}

/* h2: bold */
.tb-public .article-content h2,
.tb-public .tbbonuscat h2,
.tb-public .tbbonuscat-intro h2,
.tb-public .tbbonuscat-rich h2,
.tb-public .tbbonuscat-choice-card:first-child h2,
.tb-public .tb27-featured h2,
.tb-public .tb27-card-head h2,
.tb-public .tb27-editorial h2,
.tb-public .tb25-verdict-copy h2,
.tb-public .tb25-section-head h2,
.tb-public .tb25-experience-copy h2,
.tb-public .tb25-article h2,
.tb-public .tb30-safety-head h2,
.tb-public .tbmethod h2,
.tb-public .tbmon-detail h2,
.tb-public .tb12-guide-head h2,
.tb-public .tbtrust-home h2,
.tb-public .tbcompare-home-copy h2,
.tb-public .tb12-guide-modal-header h2,
.tb-public .tb12-guide-modal-body h2,
.tb-public .tbnew h2,
.tb-public .tbnew-editorial-section h2,
.tb-public .tbnew-faq h2,
.tb-public .tbnew-guide .tbnew-editorial-section h2,
.tb-public .tb26-title,
.tb-public .tbfinder-results-head h2,
.tb-public .tbhome-monitor h2,
.tb-public .tbslots h2,
.tb-public .tbcalc-card-head h2,
.tb-public .tbcheck-section-head h2,
.tb-public .tbcheck-logo,
.tb-public .tbcheck-result-copy h2,
.tb-public .tbcheck-empty h2,
.tb-public .tbcompare-selector-head h2,
.tb-public .tbcompare-results-head h2,
.tb-public .tbcompare-help h2,
.tb-public .tb-article-body h2,
.tb-public .tb-article-main > h4 {
    font-size: var(--tb-size-h2);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-bold);
}

/* ui: semibold */
.tb-public .nav-links,
.tb-public .premium-bets,
.tb-public .label-newsletter,
.tb-public .hot:before,
.tb-public .links-color-full-list:hover,
.tb-public .bookmaker-site,
.tb-public #compare_info > tbody > tr > th,
.tb-public .ribbon span,
.tb-public .cust-but-home-page,
.tb-public #cookieConsent button.cookieConsentOK,
.tb-public .tbcontent12-all,
.tb-public .tbcontent12-foot a,
.tb-public .tbhome-resource-label,
.tb-public .tb12-resource-card small,
.tb-public .tbbonuscat-eyebrow,
.tb-public .tbbonuscat-btn,
.tb-public .tbbonuscat-tab,
.tb-public .tbbonuscat-trust-item strong,
.tb-public .tbbonuscat-filter,
.tb-public .tbbonuscat-casino-name,
.tb-public .tbbonuscat-term span,
.tb-public .tbbonuscat-term strong,
.tb-public .tbbonuscat-method-num,
.tb-public .tb27-eyebrow,
.tb-public .tb27-updated strong,
.tb-public .tb27-btn,
.tb-public .tb27-keyterm span,
.tb-public .tb27-check strong,
.tb-public .tb27-step-number,
.tb-public .tb27-show-more,
.tb-public .tb27-editorial-kicker,
.tb-public .tb27-faq .card-header .btn,
.tb-public .tb27-comment-head strong,
.tb-public .tb27-coverage-inner,
.tb-public .tb27-coverage-copy strong,
.tb-public .tb27-side-list strong,
.tb-public .tb27-tool strong,
.tb-public .tb27-tool a,
.tb-public .tb27-nav a,
.tb-public .tb27-rate-form label,
.tb-public .tb27-rate-fieldset legend,
.tb-public .tb27-rating-buttons label,
.tb-public .tb27-review-cta strong,
.tb-public .casino-status-disabled,
.tb-public .tb25-score-inner span,
.tb-public .tb25-score-label,
.tb-public .tb25-score-grade,
.tb-public .tb25-kicker,
.tb-public .tb25-btn,
.tb-public .tb25-promo-disabled,
.tb-public .tb25-fact-label,
.tb-public .tb25-verdict-score > span,
.tb-public .tb25-verdict-score small,
.tb-public .tb25-section-head > span,
.tb-public .tb25-rating-label,
.tb-public .tb25-feature strong,
.tb-public .tb25-payment-pill strong,
.tb-public .tb25-payment-more,
.tb-public .tb25-full-review > summary strong,
.tb-public .tb25-method-note strong,
.tb-public .tb25-chips b,
.tb-public .tb25-player-reviews article strong,
.tb-public .tb25-player-reviews article > b,
.tb-public .tb25-rate-form > label,
.tb-public .tb25-rate-form legend,
.tb-public .tb25-rating-buttons label,
.tb-public .tb25-rate-form button,
.tb-public .tb25-side-primary,
.tb-public .tb25-side-secondary,
.tb-public .tb25-sidebar-actions a,
.tb-public .tb30-eyebrow,
.tb-public .tb30-review-date-row strong,
.tb-public .tb30-check strong,
.tb-public .tb30-method-name strong,
.tb-public .tb30-source-link,
.tb-public .tb30-protection-list strong,
.tb-public .tb30-complaint-cta strong,
.tb-public .tb30-before-grid > div > span,
.tb-public .tb30-before-grid strong,
.tb-public .tb-review-toc-number,
.tb-public .tb-review-toc-progress-head,
.tb-public .tb-review-toc-progress-head strong,
.tb-public .tb-review-help-button,
.tb-public .tb-review-responsible-link,
.tb-public .tb-review-related-meta b,
.tb-public .tb-review-toc-mobile > summary,
.tb-public .tb32-payment-summary-chip,
.tb-public .tb32-payment-filter,
.tb-public .tb32-payment-detail span,
.tb-public .tb32-payment-more-button,
.tb-public .tbmethod-kicker,
.tb-public .tbmethod-flow-number,
.tb-public .tbmethod-label-row strong,
.tb-public .tbmethod-btn,
.tb-public .tbmon-summary strong,
.tb-public .tbmon-source-copy strong,
.tb-public .tbmon-change-top strong,
.tb-public .tbmon-value b,
.tb-public .tbproviderdetail-eyebrow,
.tb-public .tbproviders-eyebrow,
.tb-public .tbproviders-letter,
.tb-public .tbprovider-fact strong,
.tb-public .tbprovider-open,
.tb-public .tbproviders-more,
.tb-public .tbsearch3-group-head > span:last-child,
.tb-public .tbsearch3-copy strong,
.tb-public .tbsearch3-finder-link,
.tb-public .tb12-eyebrow,
.tb-public .tb12-hero-links a,
.tb-public .tb12-top-tagline,
.tb-public .tb12-trust-card strong,
.tb-public .tb12-resource-card #btn-show-bonuses,
.tb-public .tb12-resource-card .btn-show,
.tb-public .tb12-resource-card .btn-custom,
.tb-public .tb12-resource-card a.btn,
.tb-public .tb12-newsletter #SubForm button,
.tb-public .tbtrust-home-eyebrow,
.tb-public .tbtrust-home-cta,
.tb-public .tbcompare-home-eyebrow,
.tb-public .tbcompare-home-points span,
.tb-public .tbcompare-home-button,
.tb-public .tbcompare-home-select small,
.tb-public .tbcompare-home-vs,
.tb-public .tbcompare-quick-head span,
.tb-public .tbcompare-quick-score small,
.tb-public .tbcompare-quick-label,
.tb-public .tbcompare-quick-vs,
.tb-public .tbcompare-quick-full,
.tb-public .tbcompare-picker-copy small,
.tb-public .tb12-guide-read,
.tb-public .tb12-resource-cta,
.tb-public .tb12-guide-modal-eyebrow,
.tb-public .tbhome-resource-kicker,
.tb-public .tb12-top-tagline b,
.tb-public .tbstat12-label,
.tb-public .tbnew-eyebrow,
.tb-public .tbnew-btn,
.tb-public .tbnew-trust-item strong,
.tb-public .tbnew-filter,
.tb-public .tbnew-score,
.tb-public .tbnew-bonus span,
.tb-public .tbnew-bonus strong,
.tb-public .tbnew-num,
.tb-public .tbnew-standout-card strong,
.tb-public .tb26-category-link,
.tb-public .tb26-rank,
.tb-public .tb26-score,
.tb-public .tb26-btn,
.tb-public .tb26-show-all a,
.tb-public .tb26-status-table thead th,
.tb-public .tb26-status-watch-footer a,
.tb-public .tbfinder-field label,
.tb-public .tbfinder-reset,
.tb-public .tbfinder-result-count,
.tb-public .tbfinder-rating strong,
.tb-public .tbfinder-active,
.tb-public .tbfinder-fact span,
.tb-public .tbfinder-fact strong,
.tb-public .tbfinder-review-link,
.tb-public .tbmon-review-stat b,
.tb-public .tbmon-review-link,
.tb-public .tbmon-review-method-link,
.tb-public .tbmon-method-link,
.tb-public .tb-header-v2 .tb-age-badge,
.tb-public #MainNav .tb-nav-link,
.tb-public #MainNav .tb-complaints-link,
.tb-public #MainNav .tb-more-link,
.tb-public #MainNav .tb-mega-text strong,
.tb-public #MainNav .tb-status-pill b,
.tb-public #MainNav .tb-status-cta,
.tb-public #MainNav .tb-dropdown-item,
.tb-public #MainNav .tb-more-heading,
.tb-public #MainNav .tb-compare-nav-link,
.tb-public #MainNav .tb-smart-dropdown-copy strong,
.tb-public #MainNav .tb-more-menu .tb-dropdown-item,
.tb-public #MainNav .tb-player-tools-head-copy strong,
.tb-public #MainNav .tb-player-tool-copy strong,
.tb-public #MainNav .tb-player-tools-toggle,
.tb-public #MainNav .tb-more-link-row strong,
.tb-public .tbhome-monitor-kicker,
.tb-public .tbhome-monitor-empty strong,
.tb-public .tbhome-monitor-foot a,
.tb-public .tbslots-eyebrow,
.tb-public .tbslots-filter,
.tb-public .tbslots-sort,
.tb-public .tbslots-more,
.tb-public .tbslots-provider,
.tb-public .tbslots-facts strong,
.tb-public .tbslots-play,
.tb-public .tbslots-modal-head span,
.tb-public .tbslots-modal-head strong,
.tb-public .tb-modern-modal .tb-field-label,
.tb-public .tb-modern-modal .tb-btn-secondary,
.tb-public .tb-modern-modal .tb-btn-primary,
.tb-public .tb-footer-rg-badge,
.tb-public .tbcalc-eyebrow,
.tb-public .tbcalc-hero-points span,
.tb-public .tbcalc-field label,
.tb-public .tbcalc-prefix,
.tb-public .tbcalc-suffix,
.tb-public .tbcalc-btn,
.tb-public .tbcalc-result-label,
.tb-public .tbcalc-result-main small,
.tb-public .tbcheck-eyebrow,
.tb-public .tbcheck-search button,
.tb-public .tbcheck-list-inline span,
.tb-public .tbcheck-evidence-name,
.tb-public .tbcheck-source-link,
.tb-public .tbcheck-date strong,
.tb-public .tbcheck-action,
.tb-public .tbcompare-eyebrow,
.tb-public .tbcompare-hero-point,
.tb-public .tbcompare-field label,
.tb-public .tbcompare-button,
.tb-public .tbcompare-diff-toggle,
.tb-public .tbcompare-bonus-box span,
.tb-public .tbcompare-bonus-box strong,
.tb-public .tbcompare-card-btn,
.tb-public .tbfinder-eyebrow,
.tb-public .tbfinder-trust span,
.tb-public .tb-news-listing-page .tb-sidebar-head > a,
.tb-public .tb-news-listing-page .tb-mini-cta,
.tb-public .tb-news-listing-page .tb-sidebar-form button,
.tb-public .tb-news-listing-page #SubForm button,
.tb-public #MainNav .tb-main-nav-label,
.tb-public #MainNav .tb-mega-link,
.tb-public #MainNav .tb-more-link-item,
.tb-public .tb25-tab,
.tb-public .tb-article-read,
.tb-public .tb-articles-pagination,
.tb-public .tb-articles-eyebrow,
.tb-public .tb-sidebar-form button,
.tb-public #SubForm button,
.tb-public .tb-sidebar-head > a,
.tb-public .tb-mini-cta {
    font-size: var(--tb-size-ui);
    line-height: var(--tb-leading-ui);
    font-weight: var(--tb-weight-semibold);
}

/* h1: bold */
.tb-public .tbbonuscat-hero h1,
.tb-public .tbbonuscat-rich h1,
.tb-public .tb27-title h1,
.tb-public .tb25-hero-copy h1,
.tb-public .tb25-article h1,
.tb-public .tbmethod h1,
.tb-public .tbproviderdetail h1,
.tb-public .tbproviders h1,
.tb-public .tb12-title,
.tb-public .tbnew-hero h1,
.tb-public .tbnew-guide .tbnew-editorial-section h1,
.tb-public .tbcalc-hero h1,
.tb-public .tbcheck-hero h1,
.tb-public .tbcompare-hero h1,
.tb-public .tbfinder-hero h1,
.tb-public .tb-news-listing-page .tb-article-category-title,
.tb-public .tb-article-main > h1 {
    font-size: var(--tb-size-h1);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-bold);
}

/* h3: semibold */
.tb-public .tbbonuscat-art-card strong {
    font-size: var(--tb-size-h3);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-semibold);
}

/* score: semibold */
.tb-public .tb25-score-inner strong,
.tb-public .tb25-verdict-score strong {
    font-size: var(--tb-size-score);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-semibold);
}

/* body: medium */
.tb-public .tbcompare-home-select select,
.tb-public .tbcompare-quick-value,
.tb-public .tbcompare-picker-value,
.tb-public .tbcompare-picker-search {
    font-size: var(--tb-size-body);
    line-height: var(--tb-leading-body);
    font-weight: var(--tb-weight-medium);
}

/* sidebar and compact panel headings */
.tb-public .tb27-side-head,
.tb-public .review-method-box .review-method-title,
.tb-public .review-source-title,
.tb-public .casino-status-title,
.tb-public .tb25-side-head,
.tb-public .tb-review-related-heading-copy strong,
.tb-public .tb-review-toc-heading strong,
.tb-public .tb-review-tool-copy strong,
.tb-public .tb12-newsletter #SubForm h2,
.tb-public .tb12-resource-custom-head h3,
.tb-public .tb12-resource-card h4.gradient-color,
.tb-public .tb-footer-section-title,
.tb-public #MainNav .tb-mega-title,
.tb-public #MainNav .tb-status-title,
.tb-public #SearchModalCenter .tb-search-heading h5,
.tb-public .tb-modern-modal .tb-modal-title,
.tb-public .tb-news-listing-page .tb-sidebar-head h2,
.tb-public .tb-news-listing-page #SubForm h2,
.tb-public .tb-sidebar-head h2,
.tb-public #SubForm h2,
.tb-public .tb-articles .tb-articles-section-head h2,
.tb-public .tb-articles .tb-articles-empty h2,
.tb-public .tbcompare-help-card h3 {
    font-size: var(--tb-size-sidebar);
    line-height: var(--tb-leading-sidebar);
    font-weight: var(--tb-weight-semibold);
}

/* metadata, dates and helper text */
.tb-public .badge-cat-date,
.tb-public .tb-review-related-meta,
.tb-public .tbhome-resource-date,
.tb-public .tb-news-listing-page .tb-offer-date,
.tb-public .tb-offer-date,
.tb-public .tb27-updated span,
.tb-public .tb27-comment-head time,
.tb-public .review-meta,
.tb-public .review-source-note,
.tb-public .tb25-meta,
.tb-public .tb25-fact small,
.tb-public .tb25-rate-form > small,
.tb-public .tb25-bonus-copy small,
.tb-public .tb25-bonus-copy > small,
.tb-public .tb25-verdict-score span,
.tb-public .tb30-review-date-row span,
.tb-public .tb30-stat small,
.tb-public .tb30-terms-note,
.tb-public .tb32-payment-note,
.tb-public .tb32-payment-disclaimer,
.tb-public .tbmethod-limit,
.tb-public .tbmon-change time,
.tb-public .tbmon-footnote,
.tb-public .tbproviderdetail-breadcrumb,
.tb-public .tbproviders-breadcrumb,
.tb-public .tbproviders-meta,
.tb-public .tbprovider-card-sub,
.tb-public .tbsearch3-copy small,
.tb-public .tbsearch3-group-head span,
.tb-public .tbcompare-home-hint,
.tb-public .tb26-last-check,
.tb-public .tbfinder-card-footer small,
.tb-public .tbfinder-footnote,
.tb-public .tbmon-review-head small,
.tb-public #MainNav .tb-mega-text small,
.tb-public #MainNav .tb-smart-dropdown-copy small,
.tb-public #MainNav .tb-player-tools-head-copy span,
.tb-public #MainNav .tb-player-tool-copy small,
.tb-public #MainNav .tb-more-link-row small,
.tb-public .tbcontent12-review-meta,
.tb-public .tbcontent12-date,
.tb-public .tbhome-monitor-count span,
.tb-public .tbhome-update-copy time,
.tb-public .tbhome-monitor-foot span,
.tb-public .tbslots-meta,
.tb-public .tbslots-note,
.tb-public .tb-modern-modal .tb-modal-note,
.tb-public .tbcalc-field small,
.tb-public .tbcheck-item-meta,
.tb-public .tbcheck-date span,
.tb-public .tbcompare-selected-count,
.tb-public .tbcompare-score-line span,
.tb-public .tb-footer-bottom-inner,
.tb-public .tb-footer-bottom-inner a,
.tb-public .tb-footer-bottom-inner span,
.tb-public .tb-header-v2 .tb-trust-item,
.tb-public .tb-header-v2 .tb-trust-link,
.tb-public #MainNav .tb-brand-tagline,
.tb-public .tb-articles-section-head > span,
.tb-public .tb-articles-hero-note,
.tb-public .tb-article-card-footer time,
.tb-public .tb-most-read-list li > span {
    font-size: var(--tb-size-meta);
    line-height: var(--tb-leading-ui);
    font-weight: var(--tb-weight-normal);
}

/* badges and category labels */
.tb-public .badge-cat-news,
.tb-public .badge-custom,
.tb-public .tb25-badge,
.tb-public .tbbonuscat-badge,
.tb-public .tbbonuscat-featured,
.tb-public .tbbonuscat-hero-chip,
.tb-public .tb27-pill,
.tb-public .tb27-card-head > span,
.tb-public .tb32-payment-badge,
.tb-public .tbmon-live,
.tb-public .tbmon-source-pill,
.tb-public .tbproviderdetail-chip,
.tb-public .tbsearch3-chip,
.tb-public .tb12-resource-card .badge,
.tb-public .tb12-since-badge,
.tb-public .tbnew-badge,
.tb-public .tb26-popular,
.tb-public .tb26-status-pill,
.tb-public .tb26-bonus-label,
.tb-public .tb26-bonus-type,
.tb-public .tb26-legend-pill,
.tb-public #MainNav .tb-live-badge,
.tb-public #MainNav .tb-compare-badge,
.tb-public .tbcontent12-badge,
.tb-public .tbslots-featured,
.tb-public .tbcheck-badge,
.tb-public .tbcheck-source-status,
.tb-public .tbcompare-status,
.tb-public .tbcompare-chip,
.tb-public .tb-article-badge,
.tb-public .tbhome-update-source {
    font-size: var(--tb-size-badge);
    line-height: var(--tb-leading-ui);
    font-weight: var(--tb-weight-semibold);
}

/* table data and factual values */
.tb-public td,
.tb-public #compare_first > tbody > tr > td,
.tb-public #compare_second > tbody > tr > td,
.tb-public table > tbody > tr > td,
.tb-public .tb25-article td,
.tb-public .tb12-resource-card table td,
.tb-public .tb12-resource-component table td,
.tb-public .tb12-resources .tb12-resource-modern:nth-child(2) .tb12-resource-component tbody td,
.tb-public .tb12-resources .tb12-resource-modern:nth-child(2) .tb12-resource-component tbody td:first-child,
.tb-public .tb12-resources .tb12-resource-modern:nth-child(2) .tb12-resource-component tbody td:last-child a,
.tb-public .tb26-status-table tbody td,
.tb-public .tbcompare-table-section td,
.tb-public .tbcompare-cell,
.tb-public .tbcompare-cell strong,
.tb-public .tbcompare-row-label,
.tb-public .tb25-fact strong,
.tb-public .tb25-info-list strong,
.tb-public .tb30-detail-list strong,
.tb-public .tb30-terms-grid strong,
.tb-public .tb32-payment-detail strong {
    font-size: var(--tb-size-body);
    line-height: var(--tb-leading-table);
    font-weight: var(--tb-weight-normal);
}

/* decorative statistics (preserve existing sizing) */
.tb-public .score-div,
.tb-public .counter,
.tb-public .tbstat12-number,
.tb-public .tbstat12-item:nth-child(3) .tbstat12-number,
.tb-public .tbcalc-result-main {
    font-size: var(--tb-size-stat);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-bold);
}

/* compact decorative scores (preserve existing sizing) */
.tb-public .score-bookmaker {
    font-size: var(--tb-size-compact-score);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-bold);
}

/* secondary decorative scores (preserve existing sizing) */
.tb-public .tbproviders-art-card strong,
.tb-public .tbnew-art-card strong,
.tb-public .tbcheck-result-score strong,
.tb-public .tbcompare-score-line strong {
    font-size: var(--tb-size-stat);
    line-height: var(--tb-leading-heading);
    font-weight: var(--tb-weight-semibold);
}
