/*
Theme Name: Ronin Running
Template: blocksy
Version: 1.1.0
Text Domain: ronin-running
*/

@font-face { font-family:Manrope; src:url('fonts/manrope-variable.ttf') format('truetype'); font-style:normal; font-weight:400 800; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('fonts/barlow-condensed-bold.ttf') format('truetype'); font-style:normal; font-weight:700; font-display:swap; }

:root { --rr-primary:#20285d; --rr-sky:#78abc5; --rr-sky-light:#b9deef; --rr-ink:#17213b; --rr-muted:#617086; --rr-surface:#f6f8fb; --rr-line:#e2e9f1; --rr-width:1240px; --rr-display:'Barlow Condensed','Arial Narrow',sans-serif; }
html { scroll-behavior:smooth; scroll-padding-top:135px; }
body.rr-site { margin:0; color:var(--rr-ink); background:var(--rr-surface); font-family:Manrope,Arial,sans-serif; font-size:15px; line-height:1.7; -webkit-font-smoothing:antialiased; }
.rr-site * { box-sizing:border-box; }
.rr-site a { color:inherit; text-decoration:none; }
.rr-site a:focus-visible,.rr-site button:focus-visible,.rr-site summary:focus-visible { outline:3px solid var(--rr-sky); outline-offset:5px; }
.rr-site h1,.rr-site h2,.rr-site h3,.rr-site p { margin:0; color:inherit; }
.rr-site .wp-block-group { margin-block:0; }
.rr-shell { width:min(var(--rr-width),calc(100% - 80px)); margin-inline:auto; }
.rr-skip { position:absolute; left:15px; top:-100px; padding:12px 18px; background:white; z-index:100; }
.rr-skip:focus { top:10px; }

.rr-site .rr-header { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--rr-line); }
body.admin-bar.rr-site .rr-header { top:32px; }
.rr-header-inner { min-height:100px; display:flex; align-items:center; gap:36px; padding-block:10px; }
.rr-brand { display:inline-flex; flex-shrink:0; align-items:center; line-height:1; }
.rr-logo-frame { display:block; position:relative; width:150px; aspect-ratio:730 / 390; overflow:hidden; background:#fff; }
.rr-brand .rr-logo { position:absolute; display:block; width:140.274%; max-width:none; height:auto; left:-20.548%; top:-29.487%; }
.rr-nav { flex:1; min-width:0; }
.rr-nav ul { list-style:none; padding:0; margin:0; }
.rr-nav > ul { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.rr-nav li { position:relative; display:block; }
.rr-nav > ul > li > a { display:block; padding:29px 0; white-space:nowrap; color:var(--rr-primary); font-size:11px; line-height:1.4; font-weight:800; text-transform:uppercase; letter-spacing:.1px; }
.rr-nav > ul > li > a:hover,.rr-nav .current-menu-item > a { color:#4b7999; }
.rr-nav .menu-item-has-children > a::after { content:'⌄'; margin-left:7px; color:#6c879e; }
.rr-nav .sub-menu { position:absolute; top:calc(100% - 5px); left:-20px; min-width:245px; background:#fff; border:1px solid var(--rr-line); box-shadow:0 16px 48px #17213b18; padding:10px; border-radius:12px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s,transform .18s,visibility .18s; }
.rr-nav .sub-menu a { display:block; padding:10px 12px; border-radius:6px; font-size:13px; font-weight:600; line-height:1.5; }
.rr-nav .sub-menu a:hover { color:var(--rr-primary); background:#edf4f9; }
.rr-nav li:hover > .sub-menu,.rr-nav li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.rr-mobile-nav { display:none; }
.rr-mobile-race > summary { display:block; list-style:none; padding:16px 0; cursor:pointer; color:var(--rr-primary); font-size:13px; font-weight:800; line-height:1.5; text-transform:uppercase; }
.rr-mobile-race > summary::after { content:'+'; float:right; margin-left:12px; color:#5785a2; }
.rr-mobile-race[open] > summary::after { content:'−'; }

.rr-site .rr-hero { position:relative; isolation:isolate; display:flex; align-items:center; width:calc(100% - 32px); max-width:1600px; min-height:580px; margin:16px auto 0; overflow:hidden; border-radius:22px; background:#141e38; color:#fff; }
.rr-hero > .rr-hero-photo { position:absolute; inset:0; z-index:-3; margin:0; opacity:0; visibility:hidden; transition:opacity .9s ease,visibility .9s; }
.rr-hero:not(.rr-slider-ready) > .rr-hero-photo:first-child,.rr-hero > .rr-hero-photo.rr-slide-active { opacity:1; visibility:visible; }
.rr-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:65% 48%; }
.rr-hero::before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#101a34f5 0%,#14203cc9 28%,#18284745 58%,#14203c08 100%); }
.rr-hero::after { content:''; position:absolute; left:-36px; top:30px; width:190px; height:52px; z-index:-1; background:var(--rr-sky); opacity:.55; clip-path:polygon(0 60%,100% 0,48% 53%,100% 25%,0 100%); transform:rotate(-8deg); }
.rr-hero .rr-shell { width:min(var(--rr-width),calc(100% - 96px)); }
.rr-hero-copy { padding:60px 0 105px; }
.rr-site .rr-eyebrow { font-size:10px; font-weight:700; letter-spacing:1.8px; line-height:1.4; text-transform:uppercase; }
.rr-hero .rr-eyebrow { display:inline-block; border:1px solid #c1deed38; border-radius:30px; background:#d9ecf50c; padding:10px 15px; color:#e6f0f7; margin-bottom:23px; }
.rr-hero .rr-eyebrow strong { color:var(--rr-sky-light); margin:0 5px; }
.rr-site .rr-hero-title { font-family:var(--rr-display); font-weight:700; font-style:italic; font-size:clamp(80px,9vw,124px); letter-spacing:-1.5px; line-height:.83; }
.rr-hero-title strong { color:var(--rr-sky-light); font-weight:700; }
.rr-site .rr-hero-subtitle { margin:19px 0 25px; max-width:450px; font-size:22px; font-weight:600; line-height:1.45; letter-spacing:-.4px; }
.rr-site .wp-block-buttons,.rr-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.rr-hero-actions > .wp-block-buttons { margin:0; }
.rr-site .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 22px; border:1px solid var(--rr-primary); border-radius:8px; background:var(--rr-primary); color:white; font-family:Manrope,Arial,sans-serif; font-size:11px; font-weight:800; letter-spacing:.25px; line-height:1.4; text-transform:uppercase; box-shadow:none; transition:background .2s,transform .2s,border-color .2s; }
.rr-site .wp-block-button__link:hover { color:white; background:#344574; border-color:#344574; transform:translateY(-2px); }
.rr-hero-actions > .wp-block-buttons:first-child .wp-block-button__link { background:var(--rr-sky-light); border-color:var(--rr-sky-light); color:#172845; }
.rr-hero-actions > .wp-block-buttons:first-child .wp-block-button__link:hover { background:#d6ecf6; border-color:#d6ecf6; }
.rr-site .rr-outline .wp-block-button__link { border-color:#ffffff80; background:#ffffff08; color:#fff; }
.rr-site .rr-outline .wp-block-button__link:hover { background:#ffffff18; border-color:#fff; }
.rr-hero-signature { position:absolute; right:40px; bottom:30px; padding:14px 20px; border-left:2px solid var(--rr-sky); color:#edf6fa; background:#14203c45; backdrop-filter:blur(10px); font-family:var(--rr-display); font-weight:700; font-style:italic; font-size:26px; line-height:1.1; letter-spacing:.4px; }
.rr-slider-controls { position:absolute; z-index:2; left:48px; bottom:28px; display:flex; align-items:center; gap:5px; padding:2px 8px; border:1px solid #e3f0f73b; border-radius:30px; background:#111b3860; backdrop-filter:blur(10px); }
.rr-slider-controls button { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; padding:0; border:0; border-radius:50%; background:transparent; color:#fff; font:700 24px Arial,sans-serif; cursor:pointer; }
.rr-slider-controls button:hover { background:#ffffff15; }
.rr-slider-controls .rr-slider-dot { width:28px; height:44px; }
.rr-slider-dot::before { content:''; width:6px; height:6px; border-radius:50%; background:#ffffff65; transition:background .2s; }
.rr-slider-dot[aria-current="true"]::before { background:var(--rr-sky-light); outline:1px solid #b9deef80; outline-offset:4px; }

.rr-site .rr-section { padding:64px 0 0; }
.rr-section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:28px !important; }
.rr-section-head > .wp-block-group { flex:1; }
.rr-section-head > p { max-width:410px; color:var(--rr-muted); font-size:13px; line-height:1.85; }
.rr-site .rr-kicker { color:#507996; font-size:10px; font-weight:800; line-height:1.5; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:10px; }
.rr-site .rr-section-title { font-family:Manrope,Arial,sans-serif; font-size:clamp(24px,2.5vw,32px); font-weight:700; letter-spacing:-.5px; line-height:1.25; text-transform:uppercase; }
.rr-section-title::after { content:''; display:block; width:46px; height:3px; margin-top:12px; background:var(--rr-sky); }
.rr-site .rr-small-title { font-size:26px; }
.rr-site .rr-section-link { flex-shrink:0; color:var(--rr-primary); font-size:10px; font-weight:800; line-height:1.6; letter-spacing:.3px; text-transform:uppercase; }
.rr-section-link a { padding-bottom:5px; border-bottom:1px solid #78abc570; }
.rr-site .rr-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rr-site .rr-race-card { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; min-height:390px; padding:24px; overflow:hidden; border-radius:15px; background:#17213b; color:#fff; box-shadow:0 12px 28px #17213b0c; }
.rr-race-card > figure { position:absolute; inset:0; z-index:-3; margin:0; }
.rr-race-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.rr-race-card:hover img { transform:scale(1.055); }
.rr-race-card::before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,#0f1937fc 0%,#152643e8 22%,#15264355 63%,transparent 100%); }
.rr-race-card::after { content:''; position:absolute; left:24px; top:24px; width:30px; height:3px; border-radius:2px; background:#c0e0ef; opacity:.9; }
.rr-site .rr-race-card h3 { min-height:59px; margin-bottom:10px; font-family:var(--rr-display); font-size:28px; font-weight:700; letter-spacing:.1px; line-height:1.05; text-transform:uppercase; }
.rr-site .rr-race-card p { min-height:45px; margin-bottom:18px; color:#d8e5f1; font-size:13px; line-height:1.65; }
.rr-race-card .wp-block-buttons,.rr-race-card .wp-block-button { width:100%; }
.rr-race-card .wp-block-button__link { width:100%; min-height:44px; padding:11px 9px; font-size:10px; letter-spacing:.2px; }
.rr-site #najblizsze-zawody { margin-top:64px; padding:30px; border:1px solid #e0e9f2; border-radius:20px; background:#edf3f8; }
.rr-site .rr-events { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.rr-site .rr-event { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:start; column-gap:16px; padding:22px 18px 16px; border:1px solid #e1e9f1; border-radius:12px; background:white; box-shadow:0 6px 18px #17213b04; }
.rr-date { grid-row:span 2; align-self:start; padding:10px 5px; border:1px solid #e1eaf2; border-radius:8px; background:#f5f8fc; color:#5a6b83; text-align:center; font-size:9px; font-weight:700; line-height:1.5; }
.rr-date strong { display:block; color:var(--rr-primary); font-family:var(--rr-display); font-size:32px; font-weight:700; line-height:1.1; }
.rr-date em { font-size:9px; font-weight:500; font-style:normal; }
.rr-event-info { min-width:0; }
.rr-site .rr-event h3 { min-height:42px; margin-bottom:9px; font-family:var(--rr-display); font-size:21px; font-weight:700; line-height:1.05; text-transform:uppercase; }
.rr-site .rr-event-info p { color:var(--rr-muted); font-size:11px; line-height:1.8; }
.rr-event > .wp-block-buttons { grid-column:2; }
.rr-event .wp-block-button__link { min-height:44px; padding:9px 0; border:0; background:transparent; color:var(--rr-primary); font-size:10px; }
.rr-event .wp-block-button__link:hover { color:#4d7b99; background:transparent; transform:none; }
.rr-site .rr-note { margin-top:14px; color:var(--rr-muted); font-size:11px; }
.rr-site .rr-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.rr-site .rr-news-card { overflow:hidden; border:1px solid var(--rr-line); border-radius:15px; background:#fff; box-shadow:0 8px 24px #17213b04; transition:box-shadow .2s,transform .2s; }
.rr-news-card:hover { transform:translateY(-4px); box-shadow:0 15px 32px #17213b0b; }
.rr-news-card figure { height:205px; margin:0; overflow:hidden; }
.rr-news-card img { width:100%; height:100%; object-fit:cover; }
.rr-site .rr-news-copy { padding:23px; }
.rr-site .rr-news-copy .rr-kicker { margin-bottom:12px; color:#527991; font-size:9px; letter-spacing:1.15px; }
.rr-site .rr-news-copy h3 { min-height:49px; margin:0 0 12px; font-family:Manrope,Arial,sans-serif; font-size:17px; font-weight:800; line-height:1.45; letter-spacing:-.4px; }
.rr-site .rr-news-copy p { margin-bottom:16px; color:var(--rr-muted); font-size:13px; line-height:1.8; }
.rr-news-copy > p:not(.rr-kicker):not(.rr-read-more) { min-height:66px; }
.rr-site .rr-news-copy .rr-read-more { margin:0; color:var(--rr-primary); font-size:10px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }
.rr-read-more a { display:inline-block; min-height:32px; padding:5px 0; }
.rr-site .rr-partners { padding:54px 0; }
.rr-partners h2 { margin-bottom:23px; font-family:Manrope,Arial,sans-serif; font-size:23px; font-weight:700; text-transform:uppercase; }
.rr-partner-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:hidden; border:1px solid var(--rr-line); border-radius:12px; background:#fff; }
.rr-site .rr-partner { display:flex; align-items:center; justify-content:center; min-height:100px; padding:15px; border-right:1px solid #e9eff5; color:#566579; text-align:center; font-size:14px; font-weight:800; letter-spacing:-.3px; }
.rr-partner:last-child { border:0; background:#edf4f9; color:var(--rr-primary); }

.rr-footer { padding:50px 0 0; border-top:3px solid var(--rr-sky); background:radial-gradient(ellipse at 0 0,#78abc512,transparent 60%),#121b33; color:#b7c8dd; }
.rr-footer-grid { display:grid; grid-template-columns:1.45fr 1fr 1.3fr .9fr 1fr; gap:30px; align-items:start; padding-bottom:45px; }
.rr-footer-grid > div:first-child { padding-right:20px; }
.rr-footer .rr-brand { margin-bottom:17px; }
.rr-footer .rr-logo-frame { width:160px; background:transparent; mix-blend-mode:screen; }
.rr-footer .rr-logo { filter:grayscale(1) invert(1); }
.rr-footer p,.rr-footer li { font-size:12px; line-height:1.9; }
.rr-footer h2 { margin-bottom:20px; color:#e6eff9; font-family:Manrope,Arial,sans-serif; font-size:11px; font-weight:800; line-height:1.5; letter-spacing:1.1px; text-transform:uppercase; }
.rr-footer ul { display:grid; gap:7px; padding:0; margin:0; list-style:none; }
.rr-footer a:hover { color:var(--rr-sky-light); }
.rr-social { display:flex; gap:8px; margin-bottom:10px; }
.rr-social span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #9bc5dd25; border-radius:50%; background:#d5e9f30b; color:#d4eaf6; font-size:13px; font-weight:700; }
.rr-footer-bottom { display:flex; justify-content:space-between; width:100%; padding:20px max(40px,calc((100% - var(--rr-width)) / 2)); border-top:1px solid #a9d4e716; background:#0d152a; color:#8fa5bf; font-size:10px; letter-spacing:.3px; }
.rr-inner { width:min(940px,calc(100% - 80px)); min-height:65vh; padding:60px 0 70px; }
.rr-inner h1 { margin-bottom:32px; font-family:var(--rr-display); font-size:clamp(40px,5vw,62px); font-weight:700; line-height:1.1; text-transform:uppercase; }
.rr-inner h2 { margin:32px 0 14px; font-family:var(--rr-display); font-size:30px; font-weight:700; line-height:1.2; }
.rr-inner p,.rr-inner figure { margin-bottom:22px; }
.rr-inner figure { overflow:hidden; border-radius:14px; }
.rr-inner figure img { width:100%; max-height:480px; object-fit:cover; }
.rr-inner > .wp-block-group { padding:8px 0 22px; border-bottom:1px solid var(--rr-line); }

@media(max-width:1150px) {
    .rr-shell { width:calc(100% - 56px); }
    .rr-header-inner { gap:24px; }
    .rr-logo-frame { width:140px; }
    .rr-nav > ul { gap:13px; }
    .rr-nav > ul > li > a { font-size:10px; }
    .rr-site .rr-race-card { padding:20px; }
    .rr-site .rr-race-card h3 { font-size:26px; }
    .rr-race-card::after { left:20px; }
    .rr-site .rr-event { column-gap:12px; padding:20px 14px 14px; }
}
@media(max-width:1079px) {
    .rr-desktop-nav { display:none; }
    .rr-header-inner { justify-content:space-between; min-height:92px; }
    .rr-mobile-nav { display:block; }
    .rr-mobile-nav > summary { display:flex; align-items:center; min-height:44px; padding:12px 16px; border:1px solid var(--rr-line); border-radius:8px; cursor:pointer; color:var(--rr-primary); list-style:none; font-size:11px; font-weight:800; text-transform:uppercase; }
    .rr-mobile-nav > .rr-nav { position:absolute; top:100%; left:0; right:0; max-height:75vh; padding:15px 28px; overflow:auto; background:white; border-bottom:1px solid var(--rr-line); box-shadow:0 20px 35px #17213b18; }
    .rr-mobile-nav .rr-nav ul { display:block; }
    .rr-mobile-nav .rr-nav > ul > li { border-bottom:1px solid #e9eef4; }
    .rr-mobile-nav .rr-nav > ul > li:last-child { border:0; }
    .rr-mobile-nav .rr-nav > ul > li > a { padding:16px 0; font-size:13px; }
    .rr-mobile-nav .rr-nav .sub-menu { position:static; min-width:0; padding:0 0 12px 8px; border:0; border-radius:0; opacity:1; visibility:visible; transform:none; box-shadow:none; }
    .rr-mobile-nav .rr-nav .sub-menu a { min-height:44px; padding:12px; font-size:13px; }
    .rr-site .rr-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rr-site .rr-race-card { min-height:380px; padding:26px; }
    .rr-site .rr-race-card h3 { min-height:30px; font-size:31px; }
    .rr-race-card .wp-block-button__link { font-size:10px; }
    .rr-site .rr-events { grid-template-columns:1fr; }
    .rr-site .rr-event { grid-template-columns:68px minmax(0,1fr) auto; column-gap:20px; align-items:center; padding:20px; }
    .rr-date { grid-row:auto; }
    .rr-site .rr-event h3 { min-height:0; font-size:24px; }
    .rr-event > .wp-block-buttons { grid-column:3; }
    .rr-event .wp-block-button__link { padding:10px; font-size:10px; }
    .rr-section-head > p { max-width:330px; }
    .rr-site .rr-news-grid { gap:16px; }
    .rr-site .rr-news-copy { padding:18px; }
    .rr-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
}
@media(max-width:782px) {
    body.admin-bar.rr-site .rr-header { top:46px; }
    .rr-section-head { align-items:start; flex-direction:column; gap:20px; }
    .rr-section-head > p { max-width:560px; }
    .rr-site .rr-news-grid { grid-template-columns:1fr; }
    .rr-news-card figure { height:260px; }
    .rr-site .rr-news-copy { padding:24px; }
    .rr-site .rr-news-copy h3,.rr-news-copy > p:not(.rr-kicker):not(.rr-read-more) { min-height:0; }
    .rr-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rr-partner { border-bottom:1px solid #e9eff5; }
    .rr-hero-signature { right:25px; font-size:23px; }
}
@media(max-width:600px) {
    html { scroll-padding-top:105px; }
    body.admin-bar.rr-site .rr-header { top:0; }
    .rr-shell { width:calc(100% - 36px); }
    .rr-header-inner { min-height:88px; padding-block:8px; }
    .rr-logo-frame { width:132px; }
    .rr-mobile-nav > .rr-nav { padding-inline:20px; }
    .rr-site .rr-hero { width:calc(100% - 20px); min-height:640px; margin-top:10px; border-radius:15px; align-items:flex-end; }
    .rr-hero .rr-shell { width:calc(100% - 40px); }
    .rr-hero-photo img { object-position:61% 28%; }
    .rr-hero::before { background:linear-gradient(0deg,#101a34ff 0%,#14203cda 44%,#14203c10 88%); }
    .rr-hero::after { top:25px; width:145px; height:40px; }
    .rr-hero-copy { padding:230px 0 100px; }
    .rr-hero .rr-eyebrow { padding:8px 11px; margin-bottom:20px; font-size:8px; letter-spacing:1.1px; }
    .rr-site .rr-hero-title { font-size:clamp(76px,19vw,110px); line-height:.88; letter-spacing:-1px; }
    .rr-site .rr-hero-subtitle { margin:19px 0 22px; font-size:19px; line-height:1.55; }
    .rr-hero-actions { gap:10px; align-items:stretch; }
    .rr-hero-actions > .wp-block-buttons { flex:1 1 135px; }
    .rr-hero-actions .wp-block-button { width:100%; }
    .rr-hero .wp-block-button__link { width:100%; min-height:48px; padding:12px 9px; font-size:9px; }
    .rr-hero-signature { display:none; }
    .rr-slider-controls { left:20px; bottom:24px; }
    .rr-site .rr-section { padding-top:42px; }
    .rr-site .rr-section-title { font-size:26px; }
    .rr-site .rr-small-title { font-size:23px; }
    .rr-section-head { gap:17px; margin-bottom:23px !important; }
    .rr-section-head > p { font-size:12px; }
    .rr-site .rr-card-grid { gap:16px; }
    .rr-site #najblizsze-zawody { margin-top:42px; padding:23px 18px; border-radius:15px; }
    .rr-site .rr-event { grid-template-columns:58px minmax(0,1fr); gap:8px 14px; padding:18px 15px; }
    .rr-date { grid-row:span 2; }
    .rr-site .rr-event h3 { font-size:23px; }
    .rr-event > .wp-block-buttons { grid-column:2; }
    .rr-event .wp-block-button__link { padding:5px 0; }
    .rr-news-card figure { height:220px; }
    .rr-site .rr-news-copy h3 { font-size:19px; }
    .rr-site .rr-news-copy p { font-size:13px; }
    .rr-site .rr-partners { padding-block:40px; }
    .rr-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rr-site .rr-partner { min-height:80px; font-size:12px; }
    .rr-footer { padding-top:35px; }
    .rr-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; padding-bottom:35px; }
    .rr-footer-grid > div:first-child { grid-column:1 / -1; }
    .rr-footer .rr-logo-frame { width:155px; }
    .rr-footer p,.rr-footer li { font-size:12px; }
    .rr-footer h2 { margin-bottom:15px; }
    .rr-footer-bottom { padding:18px; }
    .rr-inner { width:calc(100% - 40px); padding:35px 0 45px; }
}
@media(max-width:540px) {
    .rr-site .rr-card-grid { grid-template-columns:1fr; }
    .rr-site .rr-race-card { min-height:355px; padding:26px; }
    .rr-site .rr-race-card h3 { min-height:0; font-size:34px; }
    .rr-site .rr-race-card p { min-height:0; max-width:250px; font-size:13px; }
    .rr-race-card .wp-block-buttons { max-width:240px; }
    .rr-race-card .wp-block-button__link { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .rr-site * { transition:none !important; }
}
