/* Two typefaces, two sizes. Native Elementor widgets use the same editable
 * global styles; these tokens also serve the interiors of dynamic widgets.
 */
body.rheinspiel-design {
    --rsd-font-text:var(--e-global-typography-text-font-family,"Poppins"),sans-serif;
    --rsd-font-heading:var(--e-global-typography-primary-font-family,"Bangers"),sans-serif;
    --rsd-size-text:var(--e-global-typography-text-font-size,16px);
    --rsd-size-heading:var(--e-global-typography-primary-font-size,27.2px);
    --rsd-leading:var(--e-global-typography-text-line-height,1.5em);
    --rsd-heading-tilt:-1deg;
    font-family:var(--rsd-font-text);
    font-size:var(--rsd-size-text);
    line-height:var(--rsd-leading);
}
.rheinspiel-design :is(h1,h2,h3,h4,h5,h6),
.rheinspiel-design .rsg-page :is(h1,h2,h3,h4,h5,h6) {
    font-family:var(--rsd-font-heading);
    font-size:var(--rsd-size-heading);
    font-weight:400;
    line-height:var(--rsd-leading);
    text-transform:uppercase;
    overflow-wrap:anywhere;
}
/* Tilt the heading once, not its nested links/spans or the surrounding card.
 * The independent rotation preserves other native Elementor transforms.
 * Left origin keeps short titles aligned with their accompanying copy. */
.rheinspiel-design :is(h1,h2,h3,h4,h5,h6,[role="heading"],
    .elementor-cta__title,.elementor-image-box-title,.elementor-icon-box-title) {
    rotate:var(--rsd-heading-tilt);
    transform-origin:left center;
}
.rheinspiel-design :is(small,sup,sub) { font-size:inherit; line-height:inherit; }
.rheinspiel-design :is(code,pre,kbd,samp),
.rheinspiel-design .rsd-opening-hours,
.rheinspiel-design .rsd-opening-hours caption,
.rheinspiel-design :is(.rsg-page,.rs-news-instagram,.rsg-privacy-notice,.rs-news-privacy-notice) {
    font-family:var(--rsd-font-text);
    font-size:var(--rsd-size-text);
    line-height:var(--rsd-leading);
}
.rheinspiel-design :is(button,[role="button"],input[type="submit"],input[type="button"],.elementor-button,.rsg-button,.rs-news-instagram__link) {
    font-family:var(--rsd-font-text);
    font-size:var(--rsd-size-text);
    line-height:var(--rsd-leading);
    text-transform:uppercase;
    white-space:normal;
    overflow-wrap:anywhere;
}
.rheinspiel-design :is(button,.elementor-button,.rsg-button) :is(span,strong) { text-transform:inherit; }

/* Third-party consent/feed markup supplies its own high-priority styles.
 * Override typography only, never visibility, consent choices or colors.
 * Native Elementor controls are intentionally outside this override.
 */
.rheinspiel-design [consent-skip-blocker] :where(dialog,dialog *),
.rheinspiel-design .rcb-content-blocker :where(*),
.rheinspiel-design #sb_instagram :is(p,a,button,span,small,strong) {
    font-family:var(--rsd-font-text)!important;
    font-size:var(--rsd-size-text)!important;
    line-height:var(--rsd-leading)!important;
}
.rheinspiel-design [consent-skip-blocker] dialog :is(h1,h2,h3,h4,h5,h6,[role="heading"]),
.rheinspiel-design [consent-skip-blocker] dialog :is(h1,h2,h3,h4,h5,h6,[role="heading"]) *,
.rheinspiel-design .rcb-content-blocker :is(h1,h2,h3,h4,h5,h6,[role="heading"]),
.rheinspiel-design .rcb-content-blocker :is(h1,h2,h3,h4,h5,h6,[role="heading"]) * {
    font-family:var(--rsd-font-heading)!important;
    font-size:var(--rsd-size-heading)!important;
    font-weight:400!important;
    text-transform:uppercase!important;
}
.rheinspiel-design [consent-skip-blocker] dialog :is(button,[role="button"]),
.rheinspiel-design [consent-skip-blocker] dialog :is(button,[role="button"]) *,
.rheinspiel-design .rcb-content-blocker :is(button,[role="button"]),
.rheinspiel-design .rcb-content-blocker :is(button,[role="button"]) *,
.rheinspiel-design #sb_instagram :is(.sbi_load_btn,.sbi_follow_btn) a,
.rheinspiel-design #sb_instagram :is(.sbi_load_btn,.sbi_follow_btn) a * { text-transform:uppercase!important; }
/* The generated cookie-policy table otherwise shrinks its text to 90%. */
.rheinspiel-design .gridjs-container,
.rheinspiel-design .gridjs-container :is(div,span,th,td,button,input,label) {
    font-family:var(--rsd-font-text)!important;
    font-size:var(--rsd-size-text)!important;
    line-height:var(--rsd-leading)!important;
}
