
*{box-sizing:border-box}
:root{
  --bg:#09090b;
  --bg2:#0e0e11;
  --panel:#131316;
  --panel2:#19191d;
  --text:#f7f7f7;
  --muted:#a0a0a8;
  --line:#2b2b31;
  --line2:#3b3b43;
  --pink:#e6007e;
  --pink2:#ff2999;
  --white:#fff;
  --max:1280px;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--pink);color:#fff}

.rf-header{height:92px;background:rgba(9,9,11,.96);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:1000;backdrop-filter:blur(16px)}
.rf-header-inner{width:min(1360px,calc(100% - 48px));height:100%;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.rf-logo{width:160px;height:80px;display:flex;align-items:center}
.rf-logo img{width:100%;max-height:75px;object-fit:contain}
.rf-nav{display:flex;align-items:center;gap:34px}
.rf-nav a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#a7a7ae;padding:38px 0 34px;border-bottom:3px solid transparent;transition:.2s}
.rf-nav a:hover,.rf-nav a.active{color:#fff;border-bottom-color:var(--pink)}
.rf-header-cta{justify-self:end;background:var(--pink);min-width:165px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;transition:.2s}
.rf-header-cta:hover{background:var(--pink2)}
.rf-menu-toggle{display:none;background:none;border:0;width:45px;height:45px;padding:10px}
.rf-menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0;transition:.2s}

/* generic */
.rf-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--pink2)}
.rf-btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:14px 19px;border:1px solid transparent;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.2s}
.rf-btn-primary{background:var(--pink);color:#fff}
.rf-btn-primary:hover{background:var(--pink2);transform:translateY(-2px)}
.rf-btn-secondary{border-color:#676770;background:rgba(0,0,0,.24)}
.rf-btn-secondary:hover{border-color:#fff}
.rf-btn-light{background:#fff;color:#111}
.rf-btn.full{width:100%}
.rf-link{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #777;padding-bottom:4px;transition:.2s}
.rf-link:hover{color:var(--pink2);border-color:var(--pink2)}
.rf-link.light{color:#fff;border-color:#fff}
.rf-status{display:inline-flex;padding:11px 14px;border:1px solid #666;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.rf-status.big{font-size:11px;padding:13px 16px}
.rf-status-danger{background:#9d1a30;border-color:#9d1a30}
.rf-ticket-soon{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border:1px solid #686870;padding:12px 15px}

/* home hero */
.rf-hero{height:min(790px,calc(100vh - 92px));min-height:650px;position:relative;overflow:hidden}
.rf-hero-media{position:absolute;inset:0;background:#17171b center/cover no-repeat;filter:saturate(.92) contrast(1.02);transform:scale(1.015)}
.rf-hero-overlay{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(3,3,5,.98) 0%,rgba(5,5,7,.88) 38%,rgba(5,5,7,.48) 63%,rgba(5,5,7,.12) 100%),
linear-gradient(0deg,rgba(5,5,7,.68),transparent 48%)}
.rf-hero-inner{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));height:100%;margin:auto;display:grid;grid-template-columns:1.15fr .55fr;gap:70px;align-items:center}
.rf-hero-content{padding-top:15px}
.rf-hero-content h1{font-size:clamp(58px,7.7vw,108px);line-height:.88;text-transform:uppercase;letter-spacing:-.05em;margin:15px 0 20px;max-width:850px}
.rf-hero-subtitle{font-size:21px;font-weight:700;margin:-5px 0 18px;color:#ddd}
.rf-hero-text{max-width:660px;font-size:17px;line-height:1.65;color:#c5c5ca}
.rf-event-meta{display:flex;gap:22px;flex-wrap:wrap;margin:23px 0;color:#ddd;font-size:11px;font-weight:800}
.rf-event-meta span:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--pink);margin-right:9px;vertical-align:1px}
.rf-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.rf-hero-poster{justify-self:end;width:min(360px,100%);position:relative;background:#151519;border:1px solid rgba(255,255,255,.24);box-shadow:0 35px 90px rgba(0,0,0,.55);transition:.3s}
.rf-hero-poster:hover{transform:translateY(-5px)}
.rf-hero-poster img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rf-hero-poster>span{display:block;background:#0b0b0d;padding:13px 15px;color:#ddd;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;border-top:1px solid #28282d}
.rf-empty-hero{min-height:600px;display:flex;align-items:center;background:radial-gradient(circle at 75% 40%,rgba(230,0,126,.25),transparent 30%),#09090b}
.rf-empty-hero>div{width:min(var(--max),calc(100% - 48px));margin:auto}
.rf-empty-hero h1{font-size:clamp(55px,7vw,92px);max-width:800px;text-transform:uppercase;letter-spacing:-.05em}

/* upcoming */
.rf-upcoming{padding:95px max(24px,calc((100vw - var(--max))/2)) 110px;background:#0d0d0f}
.rf-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.rf-section-head h2,.rf-brand-block h2,.rf-page-intro h1,.rf-about h2,.rf-event-body h2,.rf-final-ticket h2{font-size:clamp(42px,5.5vw,70px);line-height:.95;text-transform:uppercase;letter-spacing:-.04em;margin:8px 0 0}
.rf-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rf-event-card{background:var(--panel);border:1px solid #242429;overflow:hidden;transition:.25s}
.rf-event-card:hover{border-color:#484850;transform:translateY(-4px)}
.rf-event-card-image{display:block;aspect-ratio:1/1;position:relative;overflow:hidden;background:#18181b}
.rf-event-card-image img{width:100%;height:100%;object-fit:cover;transition:.4s}
.rf-event-card:hover .rf-event-card-image img{transform:scale(1.025)}
.rf-date-badge{position:absolute;top:14px;left:14px;background:var(--pink);padding:8px 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.rf-card-status{position:absolute;right:14px;top:14px;background:#202024;border:1px solid #555;padding:8px 9px;font-size:8px;font-weight:900;text-transform:uppercase}
.rf-card-status.danger{background:#9d1a30;border-color:#9d1a30}
.rf-event-card-content{padding:22px}
.rf-card-type{display:block;font-size:8px;color:var(--pink2);font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.rf-event-card h3{font-size:27px;line-height:1.03;text-transform:uppercase;margin:9px 0 12px}
.rf-event-card-content>p{color:#9999a1;font-size:13px;line-height:1.6;min-height:62px}
.rf-card-info{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;color:#888892;text-transform:uppercase;font-weight:800;padding-top:15px;border-top:1px solid #29292e}
.rf-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:17px}
.rf-mini-ticket{background:#fff;color:#111;padding:8px 11px;font-size:9px;font-weight:900;text-transform:uppercase}

/* brand strip */
.rf-brand-block{min-height:345px;background:linear-gradient(120deg,#710039,#bf0067 60%,#7f0044);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:65px max(24px,calc((100vw - var(--max))/2));overflow:hidden}
.rf-brand-block .rf-kicker{color:#fff}
.rf-brand-block-copy{max-width:650px}
.rf-brand-block-copy p{font-size:17px;line-height:1.65;color:#f2d5e5}
.rf-brand-word{font-size:clamp(75px,9vw,135px);font-weight:900;line-height:.72;letter-spacing:-.07em;text-align:right;color:rgba(255,255,255,.13);user-select:none}

/* footer */
.rf-footer{background:#050506;border-top:1px solid #242427;padding:55px max(24px,calc((100vw - var(--max))/2)) 20px}
.rf-footer-top{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:55px}
.rf-footer-brand img{width:175px}
.rf-footer-brand p{max-width:280px;color:#6f6f76;font-size:12px;line-height:1.6}
.rf-footer-col{display:flex;flex-direction:column;gap:10px}
.rf-footer-col>span{font-size:8px;color:#606067;font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}
.rf-footer-col a{font-size:11px;color:#b0b0b7}
.rf-footer-col a:hover{color:#fff}
.rf-footer-bottom{border-top:1px solid #1d1d20;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;color:#515157;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}

/* subpage intro */
.rf-subpage{min-height:70vh}
.rf-page-intro{padding:92px max(24px,calc((100vw - var(--max))/2)) 70px;background:
radial-gradient(circle at 78% 20%,rgba(230,0,126,.17),transparent 24%),
#0b0b0d;border-bottom:1px solid #242429}
.rf-page-intro-compact{padding-bottom:80px}
.rf-page-intro h1{font-size:clamp(58px,7.3vw,96px);max-width:950px}
.rf-page-intro>p{max-width:670px;color:#aaaab1;font-size:16px;line-height:1.7}

/* events list */
.rf-event-list{padding:35px max(24px,calc((100vw - var(--max))/2)) 95px;background:#0d0d0f}
.rf-event-row{display:grid;grid-template-columns:150px 120px 1fr auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid #303035}
.rf-event-row-image{width:150px;height:150px;overflow:hidden;background:#19191d}
.rf-event-row-image img{width:100%;height:100%;object-fit:cover;transition:.35s}
.rf-event-row:hover .rf-event-row-image img{transform:scale(1.035)}
.rf-event-row-date b{display:block;font-size:48px;line-height:.9}
.rf-event-row-date span{display:block;font-size:8px;color:#86868e;font-weight:900;text-transform:uppercase;margin-top:7px}
.rf-event-row-main>span{font-size:8px;color:var(--pink2);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.rf-event-row-main h2{font-size:34px;line-height:1;text-transform:uppercase;margin:7px 0 10px}
.rf-event-row-main>p{max-width:680px;color:#9898a0;font-size:12px;line-height:1.55;margin:0 0 11px}
.rf-event-row-main>div{display:flex;gap:14px;color:#7d7d85;font-size:9px;font-weight:800;text-transform:uppercase}
.rf-event-row-actions{display:flex;gap:8px;align-items:center}
.rf-no-events{padding:60px 0;color:#888}

/* event detail */
.rf-event-hero{min-height:700px;position:relative;overflow:hidden}
.rf-event-hero-media{position:absolute;inset:0;background:#151519 center/cover no-repeat;filter:saturate(.9)}
.rf-event-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,2,4,.98),rgba(3,3,5,.83) 48%,rgba(3,3,5,.33) 75%,rgba(3,3,5,.12)),linear-gradient(0deg,#09090b 0%,transparent 38%)}
.rf-event-hero-inner{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));min-height:700px;margin:auto;display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center;padding:60px 0}
.rf-back{display:inline-block;color:#aaa;font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.1em;margin-bottom:30px}
.rf-event-hero-copy h1{font-size:clamp(55px,7vw,92px);line-height:.88;text-transform:uppercase;letter-spacing:-.045em;margin:12px 0 18px;max-width:820px}
.rf-event-subtitle{font-size:19px;color:#dedee2;margin:0 0 17px}
.rf-event-lead{max-width:650px;color:#b8b8bf;font-size:16px;line-height:1.65}
.rf-event-hero-facts{display:flex;gap:20px;flex-wrap:wrap;margin:23px 0;font-size:10px;font-weight:900;text-transform:uppercase}
.rf-event-hero-facts span:before{content:"";display:inline-block;width:5px;height:5px;background:var(--pink);border-radius:50%;margin-right:8px;vertical-align:1px}
.rf-event-hero-actions{margin-top:26px}
.rf-event-hero-poster{width:390px;justify-self:end;background:#141417;border:1px solid #44444c;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.rf-event-hero-poster img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rf-facts-bar{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #2a2a2f;border-bottom:1px solid #2a2a2f;background:#101012;padding:0 max(24px,calc((100vw - var(--max))/2))}
.rf-facts-bar>div{padding:22px 18px;border-right:1px solid #2a2a2f}
.rf-facts-bar>div:first-child{border-left:1px solid #2a2a2f}
.rf-facts-bar small{display:block;font-size:7px;color:#686871;font-weight:900;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}
.rf-facts-bar b{font-size:11px}
.rf-event-body{width:min(var(--max),calc(100% - 48px));margin:auto;padding:85px 0 100px;display:grid;grid-template-columns:1fr 350px;gap:95px;align-items:start}
.rf-event-body-main h2{font-size:50px;margin:10px 0 28px}
.rf-rich-text{font-size:16px;line-height:1.78;color:#aaaab1}
.rf-content-block{margin-top:45px;padding-top:24px;border-top:1px solid #303035}
.rf-content-block>span{display:block;font-size:8px;color:#777780;text-transform:uppercase;font-weight:900;letter-spacing:.13em;margin-bottom:14px}
.rf-lineup{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.rf-lineup b,.rf-highlights b{background:#151518;border:1px solid #313136;padding:12px 13px;font-size:11px;text-transform:uppercase}
.rf-highlights{display:flex;flex-wrap:wrap;gap:8px}
.rf-note{border-left:3px solid var(--pink);padding-left:19px}
.rf-note p{color:#aaa;line-height:1.7}
.rf-event-sidebar{position:sticky;top:120px}
.rf-ticket-box,.rf-side-info{background:#131316;border:1px solid #303036;padding:24px}
.rf-ticket-box h3{font-size:26px;text-transform:uppercase;line-height:1;margin:12px 0 9px}
.rf-ticket-box .rf-price{font-size:20px;font-weight:900;color:#fff}
.rf-ticket-box>small{display:block;color:#686871;font-size:9px;line-height:1.5;margin-top:12px}
.rf-side-info{margin-top:12px}
.rf-side-info>span{font-size:8px;color:#777780;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.rf-side-info p{font-size:12px;color:#aaa;line-height:1.6}
.rf-event-extra{padding:55px max(24px,calc((100vw - var(--max))/2));border-top:1px solid #28282d;background:#0d0d0f}
.rf-event-extra>div{max-width:900px}
.rf-final-ticket{background:var(--pink);padding:55px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:40px}
.rf-final-ticket .rf-kicker{color:#fff}
.rf-final-ticket h2{font-size:clamp(36px,5vw,65px);max-width:850px}
.rf-mobile-ticket{display:none}

/* about */
.rf-about{width:min(var(--max),calc(100% - 48px));margin:auto;padding:90px 0 110px;display:grid;grid-template-columns:.85fr 1.15fr;gap:95px}
.rf-about-lead h2{font-size:50px;margin-top:10px}
.rf-about-copy>p{font-size:17px;line-height:1.75;color:#a8a8af}
.rf-about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:35px 0}
.rf-about-points div{background:#121215;border:1px solid #2e2e33;padding:18px}
.rf-about-points b{display:block;color:var(--pink);font-size:10px;margin-bottom:20px}
.rf-about-points span{font-size:11px;font-weight:900;text-transform:uppercase}

/* contact */
.rf-contact{width:min(var(--max),calc(100% - 48px));margin:auto;padding:85px 0 110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}
.rf-contact-mail{display:inline-block;font-size:26px;font-weight:900;border-bottom:2px solid var(--pink);padding-bottom:7px;margin:12px 0 20px}
.rf-contact-info>p{max-width:460px;color:#919199;line-height:1.7}
.rf-contact-form{background:#121215;border:1px solid #303035;padding:29px;display:flex;flex-direction:column;gap:16px}
.rf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rf-contact-form label{display:flex;flex-direction:column;gap:7px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.rf-contact-form input,.rf-contact-form textarea{background:#09090b;border:1px solid #303036;color:#fff;padding:13px;outline:none}
.rf-contact-form input:focus,.rf-contact-form textarea:focus{border-color:var(--pink)}
.rf-privacy{flex-direction:row!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;color:#808087}
.rf-privacy input{width:auto;margin-top:2px}
.rf-contact-form .rf-btn{align-self:flex-start}
.rf-form-notice{padding:12px;border-left:3px solid var(--pink);background:#1d1118;color:#ddd;font-size:12px}

/* animation */
@keyframes rfIn{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
main{animation:rfIn .32s ease-out}

/* responsive */
@media(max-width:1020px){
  .rf-header-inner{grid-template-columns:1fr auto}
  .rf-nav,.rf-header-cta{display:none}
  .rf-menu-toggle{display:block;justify-self:end}
  .rf-nav.open{display:flex;position:absolute;top:92px;left:0;right:0;background:#09090b;border-bottom:1px solid #303035;flex-direction:column;align-items:stretch;padding:18px 24px;gap:0}
  .rf-nav.open a{padding:14px 0;border-bottom:1px solid #222227}
  .rf-hero-inner{grid-template-columns:1fr 300px;gap:35px}
  .rf-hero-poster{width:300px}
  .rf-event-grid{grid-template-columns:1fr 1fr}
  .rf-event-card:last-child:nth-child(odd){grid-column:1/3}
  .rf-event-row{grid-template-columns:120px 95px 1fr}
  .rf-event-row-image{width:120px;height:120px}
  .rf-event-row-actions{grid-column:3}
  .rf-event-hero-inner{grid-template-columns:1fr 320px;gap:35px}
  .rf-event-hero-poster{width:320px}
  .rf-facts-bar{grid-template-columns:repeat(3,1fr)}
  .rf-event-body{grid-template-columns:1fr;gap:55px}
  .rf-event-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .rf-side-info{margin-top:0}
  .rf-about,.rf-contact{grid-template-columns:1fr;gap:45px}
  .rf-footer-top{grid-template-columns:1.5fr 1fr 1fr}
  .rf-footer-col:last-child{grid-column:2}
}
@media(max-width:680px){
  body.page-event{padding-bottom:69px}
  .rf-header{height:80px}
  .rf-header-inner{width:calc(100% - 26px)}
  .rf-logo{width:135px;height:70px}
  .rf-nav.open{top:80px}
  .rf-hero{height:690px;min-height:0}
  .rf-hero-overlay{background:linear-gradient(0deg,rgba(3,3,5,.98) 0%,rgba(4,4,6,.85) 60%,rgba(4,4,6,.36) 100%)}
  .rf-hero-inner{width:calc(100% - 28px);display:block;padding-top:260px}
  .rf-hero-content h1{font-size:50px}
  .rf-hero-text{font-size:14px}
  .rf-hero-poster{display:none}
  .rf-event-meta{display:block}
  .rf-event-meta span{display:block;margin:8px 0}
  .rf-hero-actions{flex-direction:column;align-items:stretch;max-width:280px}
  .rf-upcoming{padding:65px 14px 75px}
  .rf-section-head{align-items:flex-start;flex-direction:column}
  .rf-event-grid{grid-template-columns:1fr}
  .rf-event-card:last-child:nth-child(odd){grid-column:auto}
  .rf-event-card-content>p{min-height:auto}
  .rf-brand-block{grid-template-columns:1fr;padding:55px 14px}
  .rf-brand-word{display:none}
  .rf-footer{padding-left:14px;padding-right:14px}
  .rf-footer-top{grid-template-columns:1fr 1fr;gap:35px}
  .rf-footer-brand{grid-column:1/3}
  .rf-footer-col:last-child{grid-column:auto}
  .rf-footer-bottom{gap:20px}
  .rf-page-intro{padding:65px 14px 55px}
  .rf-page-intro h1{font-size:53px}
  .rf-event-list{padding:20px 14px 70px}
  .rf-event-row{grid-template-columns:85px 1fr;gap:14px}
  .rf-event-row-image{width:85px;height:85px}
  .rf-event-row-date{grid-column:1}
  .rf-event-row-date b{font-size:35px}
  .rf-event-row-main{grid-column:2;grid-row:1/3}
  .rf-event-row-main h2{font-size:25px}
  .rf-event-row-main>p{display:none}
  .rf-event-row-actions{grid-column:2;flex-wrap:wrap}
  .rf-event-row-actions .rf-btn{padding:10px 12px}
  .rf-event-hero{min-height:670px}
  .rf-event-hero-overlay{background:linear-gradient(0deg,#09090b 0%,rgba(5,5,7,.86) 60%,rgba(5,5,7,.34))}
  .rf-event-hero-inner{width:calc(100% - 28px);display:block;min-height:670px;padding-top:220px}
  .rf-event-hero-copy h1{font-size:49px}
  .rf-event-hero-poster{display:none}
  .rf-event-hero-facts{display:block}
  .rf-event-hero-facts span{display:block;margin:7px 0}
  .rf-facts-bar{grid-template-columns:1fr 1fr;padding:0 14px}
  .rf-facts-bar>div{border:1px solid #2a2a2f;margin:-1px 0 0 -1px}
  .rf-event-body{width:calc(100% - 28px);padding:60px 0 70px}
  .rf-event-body-main h2{font-size:39px}
  .rf-lineup{grid-template-columns:1fr}
  .rf-event-sidebar{grid-template-columns:1fr}
  .rf-event-extra{padding:45px 14px}
  .rf-final-ticket{padding:45px 14px;align-items:flex-start;flex-direction:column}
  .rf-mobile-ticket{display:flex;position:fixed;z-index:1500;bottom:0;left:0;right:0;height:69px;background:#08080a;border-top:1px solid #3a3a40;padding:8px 10px;align-items:center;justify-content:space-between;gap:12px}
  .rf-mobile-ticket div{min-width:0}.rf-mobile-ticket small,.rf-mobile-ticket b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rf-mobile-ticket small{font-size:8px;color:#777}.rf-mobile-ticket b{font-size:11px;margin-top:3px}.rf-mobile-ticket a{background:var(--pink);padding:12px 15px;font-size:10px;font-weight:900;text-transform:uppercase;white-space:nowrap}
  .rf-about,.rf-contact{width:calc(100% - 28px);padding:60px 0 75px}
  .rf-about-lead h2{font-size:39px}
  .rf-about-points{grid-template-columns:1fr}
  .rf-form-grid{grid-template-columns:1fr}
}

/* Legal pages */
.rf-legal{width:min(var(--max),calc(100% - 48px));margin:auto;padding:75px 0 105px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:90px;align-items:start}
.rf-legal-main{max-width:850px}.rf-legal-main h2{font-size:22px;margin:38px 0 10px}.rf-legal-main h2:first-child{margin-top:0}.rf-legal-main p,.rf-legal-main li{color:#a5a5ad;line-height:1.75;font-size:14px}.rf-legal-main strong{color:#fff}.rf-legal-main a{color:#fff;border-bottom:1px solid #555}.rf-legal-main a:hover{border-color:var(--pink);color:var(--pink2)}.rf-legal-main code{background:#17171a;border:1px solid #303035;padding:2px 6px;color:#eee}.rf-legal-side{position:sticky;top:120px;background:#121215;border:1px solid #303035}.rf-legal-side>div{padding:18px;border-bottom:1px solid #29292e}.rf-legal-side>div:last-child{border-bottom:0}.rf-legal-side span,.rf-legal-side b,.rf-legal-side a{display:block}.rf-legal-side span{font-size:8px;color:#74747c;font-weight:900;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}.rf-legal-side b,.rf-legal-side a{font-size:11px;line-height:1.5}.rf-privacy a{text-decoration:underline}
@media(max-width:850px){.rf-legal{grid-template-columns:1fr;gap:35px}.rf-legal-side{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:580px){.rf-legal{width:calc(100% - 28px);padding:55px 0 75px}.rf-legal-side{grid-template-columns:1fr}}


/* V8 – Eventdetail und aufklappbare Jahresbereiche */
.rf-event-hero{min-height:760px}
.rf-event-hero-inner{
  grid-template-columns:minmax(0,1fr) 500px;
  gap:70px;
  min-height:760px;
  padding:58px 0;
}
.rf-event-hero-poster{
  width:500px;
  max-width:100%;
  box-shadow:0 40px 110px rgba(0,0,0,.62);
}
.rf-event-hero-poster img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rf-event-lead{font-size:18px;line-height:1.68;max-width:720px}
.rf-event-hero-actions{margin-top:32px}

.rf-facts-bar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  padding:0 max(24px,calc((100vw - var(--max))/2));
  background:#101012;
}
.rf-facts-bar>div{
  min-height:90px;
  padding:24px 20px;
  border-right:1px solid #2a2a2f;
  border-left:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.rf-facts-bar>div:first-child{border-left:1px solid #2a2a2f}
.rf-facts-bar small{font-size:9px}
.rf-facts-bar b{font-size:13px;line-height:1.35}

.rf-event-body-main .rf-rich-text{font-size:18px;line-height:1.82;color:#b8b8bf}
.rf-content-block>span{font-size:10px}
.rf-lineup b,.rf-highlights b{font-size:12px;padding:13px 15px}

.rf-event-years{
  padding:38px max(24px,calc((100vw - var(--max))/2)) 95px;
  background:#0d0d0f;
}
.rf-year-section{
  margin-bottom:22px;
  border:1px solid #303035;
  background:#101012;
}
.rf-year-toggle{
  width:100%;
  min-height:115px;
  border:0;
  background:#121215;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:20px 28px;
  cursor:pointer;
  text-align:left;
}
.rf-year-toggle:hover{background:#17171b}
.rf-year-toggle-left small{
  display:block;color:var(--pink2);font-size:9px;font-weight:900;
  text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px
}
.rf-year-toggle-left b{
  display:block;font-size:52px;line-height:.9;letter-spacing:-.04em
}
.rf-year-toggle-right{display:flex;align-items:center;gap:22px}
.rf-year-toggle-right em{
  font-style:normal;color:#8e8e97;font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.09em
}
.rf-year-toggle-right i{
  width:42px;height:42px;border:1px solid #44444a;position:relative;flex:0 0 auto
}
.rf-year-toggle-right i:before,.rf-year-toggle-right i:after{
  content:"";position:absolute;left:50%;top:50%;width:9px;height:2px;background:#fff;transform-origin:center
}
.rf-year-toggle-right i:before{transform:translate(-7px,-1px) rotate(45deg)}
.rf-year-toggle-right i:after{transform:translate(-1px,-1px) rotate(-45deg)}
.rf-year-toggle[aria-expanded="false"] .rf-year-toggle-right i:before{transform:translate(-7px,-1px) rotate(-45deg)}
.rf-year-toggle[aria-expanded="false"] .rf-year-toggle-right i:after{transform:translate(-1px,-1px) rotate(45deg)}
.rf-year-content[hidden]{display:none}
.rf-event-list-year{padding:0 26px 12px;background:#0d0d0f}
.rf-event-list-year .rf-event-row-main h3{
  font-size:34px;line-height:1;text-transform:uppercase;margin:7px 0 10px
}
.rf-footer-brand p{font-size:13px}

@media(max-width:1150px){
  .rf-event-hero-inner{grid-template-columns:minmax(0,1fr) 410px;gap:42px}
  .rf-event-hero-poster{width:410px}
}
@media(max-width:680px){
  .rf-event-hero{min-height:690px}
  .rf-event-hero-inner{display:block;min-height:690px;padding-top:225px}
  .rf-event-hero-poster{display:none}
  .rf-event-lead{font-size:15px}
  .rf-facts-bar{grid-template-columns:1fr 1fr;padding:0 14px}
  .rf-facts-bar>div{min-height:82px;margin:-1px 0 0 -1px;border:1px solid #2a2a2f}
  .rf-event-body-main .rf-rich-text{font-size:16px}
  .rf-event-years{padding:20px 14px 70px}
  .rf-year-toggle{min-height:92px;padding:16px 18px}
  .rf-year-toggle-left b{font-size:42px}
  .rf-year-toggle-right em{display:none}
  .rf-year-toggle-right i{width:38px;height:38px}
  .rf-event-list-year{padding:0 13px 8px}
  .rf-event-list-year .rf-event-row-main h3{font-size:25px}
}


/* =====================================================================
   V9 – LESBARKEIT AUF ALLEN ÖFFENTLICHEN SEITEN
   Ziel: normaler Fließtext 17–18px, Metadaten nicht mehr mikroskopisch.
   ===================================================================== */

html{font-size:16px}
body{
  font-size:17px;
  line-height:1.55;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Navigation */
.rf-nav a{
  font-size:14px;
  letter-spacing:.08em;
}
.rf-header-cta{
  font-size:13px;
  min-width:190px;
}
.rf-kicker{
  font-size:13px;
  letter-spacing:.13em;
}
.rf-btn{
  font-size:14px;
  letter-spacing:.055em;
  padding:15px 20px;
}
.rf-link{
  font-size:13px;
  letter-spacing:.055em;
}
.rf-status,
.rf-ticket-soon{
  font-size:13px;
}

/* Startseite */
.rf-hero-text{
  font-size:18px;
  line-height:1.7;
}
.rf-hero-subtitle{font-size:22px}
.rf-event-meta{
  font-size:15px;
  line-height:1.6;
}
.rf-hero-poster>span{
  font-size:13px;
}
.rf-date-badge,
.rf-card-status{
  font-size:12px;
}
.rf-card-type{
  font-size:12px;
}
.rf-event-card h3{
  font-size:30px;
}
.rf-event-card-content>p{
  font-size:16px;
  line-height:1.65;
}
.rf-card-info{
  font-size:13px;
  line-height:1.5;
}
.rf-mini-ticket{
  font-size:13px;
  padding:10px 13px;
}
.rf-brand-block-copy p{
  font-size:18px;
}

/* Seitenintro / Events */
.rf-page-intro>p{
  font-size:18px;
  line-height:1.72;
}
.rf-year-toggle{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
}
.rf-year-toggle-left small{
  font-size:13px;
}
.rf-year-toggle-left b{
  font-size:58px;
}
.rf-year-toggle-right em{
  font-size:14px;
}
.rf-event-row-date span{
  font-size:12px;
}
.rf-event-row-main>span{
  font-size:12px;
}
.rf-event-list-year .rf-event-row-main h3,
.rf-event-row-main h2{
  font-size:36px;
}
.rf-event-row-main>p{
  font-size:16px;
  line-height:1.65;
}
.rf-event-row-main>div{
  font-size:14px;
  line-height:1.55;
}

/* Einzelne Eventseite */
.rf-back{
  font-size:13px;
}
.rf-event-subtitle{
  font-size:22px;
}
.rf-event-lead{
  font-size:19px;
  line-height:1.72;
}
.rf-facts-bar small{
  font-size:13px;
  letter-spacing:.09em;
}
.rf-facts-bar b{
  font-size:16px;
  line-height:1.45;
}
.rf-event-body-main .rf-rich-text,
.rf-event-extra .rf-rich-text{
  font-size:18px;
  line-height:1.82;
}
.rf-content-block>span{
  font-size:13px;
}
.rf-lineup b,
.rf-highlights b{
  font-size:14px;
  line-height:1.35;
}
.rf-note p{
  font-size:17px;
}
.rf-ticket-box h3{
  font-size:29px;
}
.rf-ticket-box .rf-price{
  font-size:22px;
}
.rf-ticket-box>small{
  font-size:13px;
  line-height:1.55;
}
.rf-side-info>span{
  font-size:13px;
}
.rf-side-info p{
  font-size:15px;
}

/* Über uns */
.rf-about-copy>p{
  font-size:18px;
  line-height:1.78;
}
.rf-about-points b{
  font-size:13px;
}
.rf-about-points span{
  font-size:14px;
  line-height:1.4;
}

/* Kontakt */
.rf-contact-mail{
  font-size:28px;
}
.rf-contact-info>p{
  font-size:17px;
}
.rf-contact-form label{
  font-size:14px;
  letter-spacing:.06em;
}
.rf-contact-form input,
.rf-contact-form textarea{
  font-size:17px;
  padding:15px;
}
.rf-privacy{
  font-size:15px!important;
  line-height:1.55;
}
.rf-form-notice{
  font-size:15px;
}

/* Footer */
.rf-footer-brand p{
  font-size:15px;
  line-height:1.65;
}
.rf-footer-col>span{
  font-size:12px;
}
.rf-footer-col a{
  font-size:15px;
}
.rf-footer-bottom{
  font-size:12px;
  line-height:1.5;
}

/* Das Jahresmenü bekommt eine klar sichtbare, robuste Anordnung */
.rf-year-toggle{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:118px!important;
  padding:22px 28px!important;
  background:#121215!important;
  border:0!important;
  color:#fff!important;
  text-align:left!important;
}
.rf-year-toggle-left,
.rf-year-toggle-right{
  display:flex!important;
  align-items:center!important;
}
.rf-year-toggle-left{
  flex-direction:column!important;
  align-items:flex-start!important;
}
.rf-year-toggle-right{
  flex-direction:row!important;
  gap:22px!important;
}
.rf-year-content{
  display:block;
}
.rf-year-content[hidden]{
  display:none!important;
}

/* Mobile: weiterhin gut lesbar, keine 9/10px-Texte */
@media(max-width:680px){
  body{font-size:16px}
  .rf-nav a{font-size:16px}
  .rf-kicker{font-size:12px}
  .rf-btn{font-size:13px}
  .rf-hero-text{font-size:16px}
  .rf-event-card-content>p{font-size:15px}
  .rf-card-info{font-size:12px}
  .rf-page-intro>p{font-size:16px}
  .rf-year-toggle-left small{font-size:12px}
  .rf-year-toggle-left b{font-size:46px}
  .rf-event-row-main>span{font-size:11px}
  .rf-event-row-main>div{font-size:12px}
  .rf-event-body-main .rf-rich-text,
  .rf-event-extra .rf-rich-text{font-size:16px}
  .rf-facts-bar small{font-size:11px}
  .rf-facts-bar b{font-size:14px}
  .rf-footer-col a{font-size:14px}
  .rf-footer-bottom{font-size:11px}
}


/* ===================================================================
   V10 – Countdown & optionale Datumsanzeige
   =================================================================== */

.rf-header{height:auto}
.rf-header-inner{height:92px}

.rf-countdown-bar{
  min-height:58px;
  padding:7px max(24px,calc((100vw - 1360px)/2));
  border-top:1px solid #24242a;
  border-bottom:1px solid #2f2f35;
  background:#111114;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:24px;
}
.rf-countdown-event{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:12px;
}
.rf-countdown-event span{
  color:var(--pink2);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
}
.rf-countdown-event b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
}
.rf-countdown-values{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.rf-countdown-values>span{
  min-width:47px;
  text-align:center;
}
.rf-countdown-values b{
  display:block;
  font-size:20px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.rf-countdown-values small{
  display:block;
  margin-top:4px;
  color:#777780;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.rf-countdown-values i{
  color:var(--pink);
  font-style:normal;
  font-weight:900;
}
.rf-countdown-link{
  justify-self:end;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.rf-countdown-bar.is-now .rf-countdown-values:after{
  content:" EVENT";
  color:var(--pink2);
  font-size:11px;
  font-weight:900;
}


@media(max-width:1020px){
  .rf-countdown-bar{
    grid-template-columns:1fr auto;
  }
  .rf-countdown-link{display:none}
}
@media(max-width:680px){
  .rf-header-inner{height:80px}
  .rf-countdown-bar{
    min-height:66px;
    grid-template-columns:1fr;
    gap:7px;
    padding:8px 14px;
  }
  .rf-countdown-event{
    justify-content:center;
  }
  .rf-countdown-event span{font-size:10px}
  .rf-countdown-event b{font-size:12px}
  .rf-countdown-values b{font-size:17px}
  .rf-countdown-values small{font-size:9px}
  .rf-countdown-values>span{min-width:42px}
  body.menu-open .rf-countdown-bar{display:none}
  .rf-event-row-no-date{
    grid-template-columns:85px 1fr;
  }
  .rf-event-row-no-date .rf-event-row-image{grid-column:1}
  .rf-event-row-no-date .rf-event-row-main{
    grid-column:2;
    grid-row:1/2;
  }
  .rf-event-row-no-date .rf-event-row-actions{
    grid-column:2;
  }
}


/* ===================================================================
   V11 – Countdown-Vorschaubild & sauber getrennte aktive Navigation
   =================================================================== */

/*
 * Die aktive Markierung sitzt jetzt als Pseudo-Element INNERHALB
 * der oberen 92px-Navigationszeile. Sie berührt den Countdown nicht.
 */
.rf-nav a{
  position:relative;
  border-bottom:0!important;
  padding:0;
  height:92px;
  display:flex;
  align-items:center;
}
.rf-nav a:hover,
.rf-nav a.active{
  border-bottom-color:transparent!important;
}
.rf-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:9px;
  height:3px;
  background:transparent;
  border-radius:3px;
  transition:.2s;
}
.rf-nav a:hover::after,
.rf-nav a.active::after{
  background:var(--pink);
}

/* optisch klare Trennung zur Countdown-Zeile */
.rf-header-inner{
  position:relative;
  z-index:2;
  background:rgba(9,9,11,.98);
}
.rf-countdown-bar{
  position:relative;
  z-index:1;
  border-top:1px solid #34343a;
}

/* kleines Veranstaltungsbild */
.rf-countdown-event{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.rf-countdown-thumb{
  width:42px;
  height:42px;
  flex:0 0 42px;
  overflow:hidden;
  border:1px solid #3d3d43;
  background:#1a1a1d;
}
.rf-countdown-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.rf-countdown-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.1;
}
.rf-countdown-copy small{
  color:var(--pink2);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:4px;
}
.rf-countdown-copy b{
  display:block;
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
}

/* alte direkte span-Regel des Countdown-Labels neutralisieren */
.rf-countdown-event>span:not(.rf-countdown-thumb):not(.rf-countdown-copy){
  display:initial;
}

@media(max-width:1020px){
  .rf-nav a{
    height:auto;
    padding:14px 0;
  }
  .rf-nav a::after{
    display:none;
  }
}
@media(max-width:680px){
  .rf-countdown-thumb{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
  .rf-countdown-copy small{
    font-size:9px;
  }
  .rf-countdown-copy b{
    font-size:12px;
    max-width:220px;
  }
}


/* ===================================================================
   V13 – Countdown als eine saubere, vertikal ausgerichtete Leiste
   =================================================================== */

.rf-countdown-bar{
  min-height:74px;
  padding:10px max(24px,calc((100vw - 1360px)/2));
  display:grid;
  grid-template-columns:minmax(330px,1fr) auto auto;
  align-items:center;
  column-gap:34px;
  background:#111114;
  border-top:1px solid #2e2e34;
  border-bottom:1px solid #38383f;
}

/* Linker Bereich: Bild + Eventname */
.rf-countdown-event{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  height:100%;
}

.rf-countdown-thumb{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border:1px solid #414148;
  overflow:hidden;
  background:#18181c;
}

.rf-countdown-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.rf-countdown-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  line-height:1.15;
}

.rf-countdown-copy small{
  margin:0;
  color:var(--pink2);
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.rf-countdown-copy b{
  margin:0;
  max-width:470px;
  color:#f5f5f7;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* Countdown: vier identische Einheiten auf EINER Achse */
.rf-countdown-values{
  display:grid;
  grid-template-columns:72px 72px 72px 72px;
  gap:0;
  align-items:stretch;
  height:54px;
  border-left:1px solid #303036;
  border-right:1px solid #303036;
}

.rf-countdown-values>span{
  min-width:0;
  height:54px;
  padding:5px 11px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-right:1px solid #303036;
  text-align:center;
}

.rf-countdown-values>span:last-of-type{
  border-right:0;
}

.rf-countdown-values b{
  display:block;
  margin:0;
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
}

.rf-countdown-values small{
  display:block;
  margin:5px 0 0;
  color:#888891;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

/* Die alten Doppelpunkte werden ausgeblendet.
   Die Trennlinien der vier Countdown-Felder sorgen für mehr Ruhe. */
.rf-countdown-values>i{
  display:none;
}

.rf-countdown-link{
  justify-self:end;
  display:flex;
  align-items:center;
  height:42px;
  padding:0 15px;
  border:1px solid #44444b;
  color:#ddd;
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  white-space:nowrap;
}

.rf-countdown-link:hover{
  border-color:var(--pink);
  color:#fff;
}

/* Die Navigation bleibt optisch klar oberhalb der Leiste */
.rf-header-inner{
  height:92px;
  border-bottom:0;
}

.rf-nav a{
  height:92px;
  display:flex;
  align-items:center;
}

.rf-nav a::after{
  bottom:7px;
  height:3px;
}

@media(max-width:1050px){
  .rf-countdown-bar{
    grid-template-columns:minmax(260px,1fr) auto;
    column-gap:24px;
  }
  .rf-countdown-link{
    display:none;
  }
  .rf-countdown-values{
    grid-template-columns:64px 64px 64px 64px;
  }
}

@media(max-width:760px){
  .rf-countdown-bar{
    grid-template-columns:1fr;
    row-gap:10px;
    padding:10px 14px 12px;
  }
  .rf-countdown-event{
    justify-content:center;
  }
  .rf-countdown-values{
    justify-self:center;
    width:min(100%,320px);
    grid-template-columns:repeat(4,1fr);
  }
}

@media(max-width:680px){
  .rf-countdown-thumb{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .rf-countdown-copy small{
    font-size:10px;
  }
  .rf-countdown-copy b{
    max-width:235px;
    font-size:13px;
  }
  .rf-countdown-values{
    height:50px;
  }
  .rf-countdown-values>span{
    height:50px;
    padding:4px 7px;
  }
  .rf-countdown-values b{
    font-size:19px;
  }
  .rf-countdown-values small{
    font-size:9px;
  }
}


/* =====================================================================
   V14 – HEADER-/COUNTDOWN-AUSRICHTUNG + KOMPLETTER RESPONSIVE PASS
   ===================================================================== */

/* ---------- Desktop: gleiche Inhaltsachse wie Logo ---------- */
.rf-countdown-bar{
  padding:0!important;
  min-height:74px;
  background:#111114;
  border-top:1px solid #2e2e34;
  border-bottom:1px solid #38383f;
}

.rf-countdown-inner{
  width:min(1360px,calc(100% - 48px));
  min-height:74px;
  margin:0 auto;
  display:grid;
  /*
   * Gleich breite Außenbereiche halten den eigentlichen Countdown
   * unabhängig von Eventtitel/Link exakt in der Seitenmitte.
   */
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:28px;
}

/*
 * Das Logo-PNG besitzt links transparente Fläche.
 * +20px bringt das sichtbare Eventbild auf dieselbe optische Kante
 * wie der sichtbare Beginn des RockiFeiert-Logos.
 */
.rf-countdown-event{
  min-width:0;
  height:100%;
  padding-left:20px;
  display:flex;
  align-items:center;
  justify-self:start;
  gap:10px;
}

.rf-countdown-thumb{
  width:48px;
  height:48px;
  flex:0 0 48px;
}

.rf-countdown-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  text-align:left;
}

.rf-countdown-copy small{
  display:block;
  margin:0;
  white-space:nowrap;
  font-size:12px;
  line-height:1;
  letter-spacing:.11em;
}

.rf-countdown-copy b{
  display:block;
  margin:0;
  max-width:min(30vw,430px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:16px;
  line-height:1.2;
}

.rf-countdown-values{
  justify-self:center;
}

.rf-countdown-link{
  justify-self:end;
}

/* ---------- Grundschutz gegen horizontales Überlaufen ---------- */
.rf-hero-content,
.rf-event-card-content,
.rf-event-row-main,
.rf-event-hero-copy,
.rf-event-body-main,
.rf-contact-info,
.rf-contact-form,
.rf-about-copy,
.rf-footer-col{
  min-width:0;
}

.rf-hero-content h1,
.rf-event-hero-copy h1,
.rf-page-intro h1,
.rf-section-head h2,
.rf-brand-block h2,
.rf-about h2,
.rf-final-ticket h2,
.rf-event-card h3,
.rf-event-row-main h2,
.rf-event-row-main h3{
  overflow-wrap:break-word;
  word-break:normal;
}

.rf-footer-col a,
.rf-contact-mail{
  overflow-wrap:anywhere;
}

/* ---------- Tablet / kleinere Laptops ---------- */
@media(max-width:1180px){
  .rf-header-inner,
  .rf-countdown-inner{
    width:calc(100% - 36px);
  }

  .rf-countdown-event{
    padding-left:18px;
  }

  .rf-countdown-copy b{
    max-width:260px;
  }

  .rf-hero-inner{
    gap:42px;
  }

  .rf-event-row{
    gap:20px;
  }
}

@media(max-width:1020px){
  /*
   * Hamburger-Menü liegt oberhalb des Countdowns.
   * Sobald es geöffnet ist, wird der Countdown ausgeblendet,
   * damit sich nichts überschneidet.
   */
  body.menu-open .rf-countdown-bar{
    display:none;
  }

  .rf-nav.open{
    top:90px;
    max-height:calc(100vh - 90px);
    overflow-y:auto;
    z-index:1200;
  }

  .rf-countdown-inner{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    column-gap:18px;
  }

  .rf-countdown-link{
    display:none;
  }

  /* rechte Leerspalte bleibt bestehen -> Countdown bleibt exakt mittig */
  .rf-countdown-values{
    grid-column:2;
  }

  .rf-hero-inner{
    grid-template-columns:minmax(0,1fr) 280px;
    gap:30px;
  }

  .rf-hero-poster{
    width:280px;
  }

  .rf-event-grid{
    grid-template-columns:1fr 1fr;
  }

  .rf-event-row{
    grid-template-columns:118px 95px minmax(0,1fr);
    gap:18px;
    align-items:start;
  }

  .rf-event-row-image{
    width:118px;
    height:118px;
  }

  .rf-event-row-actions{
    grid-column:3;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .rf-event-hero-inner{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:30px;
  }

  .rf-event-hero-poster{
    width:300px;
  }

  .rf-footer-top{
    grid-template-columns:1.35fr 1fr 1fr;
    gap:34px;
  }
}

/* ---------- Smartphone / kleine Tablets ---------- */
@media(max-width:760px){
  .rf-header-inner,
  .rf-countdown-inner{
    width:calc(100% - 26px);
  }

  .rf-header-inner{
    height:80px;
  }

  .rf-logo{
    width:135px;
    height:70px;
  }

  .rf-nav.open{
    top:80px;
    max-height:calc(100vh - 80px);
  }

  .rf-countdown-bar{
    min-height:0;
  }

  .rf-countdown-inner{
    min-height:0;
    padding:10px 0 12px;
    display:grid;
    grid-template-columns:1fr;
    row-gap:10px;
  }

  .rf-countdown-event{
    grid-column:1;
    width:100%;
    height:auto;
    padding-left:17px;
    justify-self:stretch;
    justify-content:flex-start;
  }

  .rf-countdown-thumb{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .rf-countdown-copy small{
    font-size:10px;
    white-space:nowrap;
  }

  .rf-countdown-copy b{
    max-width:calc(100vw - 105px);
    font-size:13px;
  }

  .rf-countdown-values{
    grid-column:1;
    justify-self:center;
    width:min(100%,320px);
    height:50px;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .rf-countdown-values>span{
    height:50px;
    padding:4px 6px;
  }

  .rf-countdown-values b{
    font-size:19px;
  }

  .rf-countdown-values small{
    font-size:9px;
  }

  /* Startseite: keine feste Hero-Höhe mehr -> kein Abschneiden */
  .rf-hero{
    height:auto;
    min-height:0;
  }

  .rf-hero-inner{
    width:calc(100% - 28px);
    height:auto;
    display:block;
    padding:175px 0 52px;
  }

  .rf-hero-content{
    max-width:100%;
  }

  .rf-hero-content h1{
    font-size:clamp(42px,13vw,58px);
    line-height:.91;
    letter-spacing:-.045em;
    margin:12px 0 18px;
  }

  .rf-hero-subtitle{
    font-size:18px;
  }

  .rf-hero-text{
    font-size:16px;
    line-height:1.65;
  }

  .rf-event-meta{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:18px 0;
    font-size:13px;
  }

  .rf-event-meta span{
    margin:0;
  }

  .rf-hero-actions{
    max-width:none;
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }

  .rf-hero-actions .rf-btn,
  .rf-hero-actions .rf-status,
  .rf-hero-actions .rf-ticket-soon{
    width:100%;
  }

  .rf-hero-poster{
    display:none;
  }

  /* Startseiten-Events */
  .rf-upcoming{
    padding:58px 14px 68px;
  }

  .rf-section-head{
    gap:20px;
  }

  .rf-section-head h2{
    font-size:clamp(38px,11vw,52px);
  }

  .rf-event-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .rf-event-card:last-child:nth-child(odd){
    grid-column:auto;
  }

  .rf-event-card h3{
    font-size:27px;
  }

  .rf-event-card-content{
    padding:18px;
  }

  .rf-card-actions{
    gap:14px;
    flex-wrap:wrap;
  }

  /* Markenblock */
  .rf-brand-block{
    min-height:0;
    grid-template-columns:1fr;
    padding:48px 14px;
  }

  .rf-brand-block h2{
    font-size:clamp(37px,11vw,50px);
  }

  .rf-brand-block-copy p{
    font-size:16px;
  }

  .rf-brand-word{
    display:none;
  }

  /* Seitenköpfe */
  .rf-page-intro,
  .rf-page-intro-compact{
    padding:54px 14px 48px;
  }

  .rf-page-intro h1{
    font-size:clamp(42px,12.5vw,58px);
    line-height:.94;
  }

  .rf-page-intro>p{
    font-size:16px;
  }

  /* Jahresbereiche */
  .rf-event-years{
    padding:18px 14px 64px;
  }

  .rf-year-section{
    margin-bottom:15px;
  }

  .rf-year-toggle{
    min-height:86px!important;
    padding:14px 15px!important;
  }

  .rf-year-toggle-left small{
    font-size:11px;
  }

  .rf-year-toggle-left b{
    font-size:42px;
  }

  .rf-year-toggle-right em{
    display:none;
  }

  .rf-year-toggle-right i{
    width:38px;
    height:38px;
  }

  .rf-event-list-year{
    padding:0 12px 8px;
  }

  /* Eventübersicht: robuste mobile Struktur */
  .rf-event-row{
    grid-template-columns:94px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:12px 14px;
    padding:18px 0;
    align-items:start;
  }

  .rf-event-row-image{
    grid-column:1;
    grid-row:1;
    width:94px;
    height:94px;
  }

  .rf-event-row-date{
    grid-column:1;
    grid-row:2;
  }

  .rf-event-row-date b{
    font-size:34px;
  }

  .rf-event-row-date span{
    font-size:10px;
  }

  .rf-event-row-main{
    grid-column:2;
    grid-row:1/3;
  }

  .rf-event-list-year .rf-event-row-main h3,
  .rf-event-row-main h2{
    font-size:24px;
    line-height:1.02;
    margin:5px 0 9px;
  }

  .rf-event-row-main>p{
    display:block;
    font-size:14px;
    line-height:1.55;
    margin-bottom:9px;
  }

  .rf-event-row-main>div{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    font-size:11px;
  }

  .rf-event-row-actions{
    grid-column:1/3;
    grid-row:3;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .rf-event-row-actions .rf-btn,
  .rf-event-row-actions .rf-status{
    width:100%;
  }

  /* Eventdetail: automatisch hoch statt abgeschnitten */
  .rf-event-hero{
    min-height:0;
  }

  .rf-event-hero-inner{
    width:calc(100% - 28px);
    min-height:0;
    display:block;
    padding:165px 0 52px;
  }

  .rf-event-hero-copy h1{
    font-size:clamp(41px,12.5vw,57px);
    line-height:.91;
    letter-spacing:-.04em;
  }

  .rf-event-subtitle{
    font-size:18px;
  }

  .rf-event-lead{
    font-size:16px;
    line-height:1.65;
  }

  .rf-event-hero-poster{
    display:none;
  }

  .rf-event-hero-actions .rf-btn,
  .rf-event-hero-actions .rf-status,
  .rf-event-hero-actions .rf-ticket-soon{
    width:100%;
  }

  .rf-facts-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:0 14px;
  }

  .rf-facts-bar>div{
    min-width:0;
    min-height:82px;
    margin:-1px 0 0 -1px;
    border:1px solid #2a2a2f;
    padding:15px 13px;
  }

  .rf-facts-bar b{
    overflow-wrap:anywhere;
  }

  .rf-event-body{
    width:calc(100% - 28px);
    padding:52px 0 64px;
    gap:38px;
  }

  .rf-event-body-main h2{
    font-size:clamp(36px,10vw,46px);
  }

  .rf-event-body-main .rf-rich-text,
  .rf-event-extra .rf-rich-text{
    font-size:16px;
    line-height:1.72;
  }

  .rf-lineup{
    grid-template-columns:1fr;
  }

  .rf-event-sidebar{
    grid-template-columns:1fr;
  }

  .rf-ticket-box,
  .rf-side-info{
    padding:19px;
  }

  .rf-event-extra{
    padding:40px 14px;
  }

  .rf-final-ticket{
    padding:40px 14px;
    align-items:stretch;
    flex-direction:column;
  }

  .rf-final-ticket .rf-btn{
    width:100%;
  }

  /* Über uns / Kontakt */
  .rf-about,
  .rf-contact{
    width:calc(100% - 28px);
    padding:52px 0 65px;
    gap:34px;
  }

  .rf-about-lead h2{
    font-size:clamp(35px,10vw,45px);
  }

  .rf-about-copy>p{
    font-size:16px;
  }

  .rf-about-points{
    grid-template-columns:1fr;
  }

  .rf-contact-mail{
    max-width:100%;
    font-size:21px;
  }

  .rf-contact-form{
    padding:18px;
  }

  .rf-form-grid{
    grid-template-columns:1fr;
  }

  /* Footer */
  .rf-footer{
    padding:45px 14px 18px;
  }

  .rf-footer-top{
    grid-template-columns:1fr;
    gap:28px;
  }

  .rf-footer-brand{
    grid-column:auto;
  }

  .rf-footer-col:last-child{
    grid-column:auto;
  }

  .rf-footer-brand img{
    width:150px;
  }

  .rf-footer-bottom{
    margin-top:34px;
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
  }

  /* Legal */
  .rf-legal,
  .rf-legal-side{
    min-width:0;
  }

  .rf-legal-side{
    grid-template-columns:1fr!important;
  }
}

/* Sehr schmale Geräte */
@media(max-width:390px){
  .rf-header-inner,
  .rf-countdown-inner{
    width:calc(100% - 20px);
  }

  .rf-countdown-event{
    padding-left:14px;
  }

  .rf-countdown-copy b{
    max-width:220px;
  }

  .rf-hero-inner,
  .rf-event-hero-inner{
    width:calc(100% - 22px);
  }

  .rf-hero-content h1,
  .rf-event-hero-copy h1{
    font-size:40px;
  }

  .rf-facts-bar{
    grid-template-columns:1fr;
  }

  .rf-event-row{
    grid-template-columns:82px minmax(0,1fr);
  }

  .rf-event-row-image{
    width:82px;
    height:82px;
  }

  .rf-event-row-actions{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   V15 – FEINSCHLIFF: HEADER, EVENTKARTEN, SOCIAL FOOTER, MOBILE
   ===================================================================== */

/* ---------- Header / Countdown ---------- */
.rf-header-cta{
  min-width:220px;
  justify-content:center;
  gap:16px;
}

.rf-countdown-inner{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
}

/*
 * Bild + Eventtitel bewusst weiter nach rechts.
 * So sitzt die Miniatur an der optischen Kante des sichtbaren Logos
 * statt am transparenten Rand der Logo-PNG.
 */
.rf-countdown-event{
  padding-left:46px!important;
}

.rf-countdown-link{
  min-width:220px;
  justify-content:center;
  padding-left:18px;
  padding-right:18px;
}

/* Zusatzdatum unter dem großen Poster, falls aktiviert */
.rf-hero-poster>span{
  text-align:center;
}

/* ---------- Startseiten-Eventkarten: Unterkante überall identisch ---------- */
.rf-event-grid{
  align-items:stretch;
}

.rf-event-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.rf-event-card-image{
  flex:0 0 auto;
}

.rf-event-card-content{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  height:100%;
}

.rf-event-card h3{
  min-height:2.08em;
}

.rf-event-card-content>p{
  flex:1 1 auto;
  min-height:0;
  margin-bottom:18px;
}

.rf-card-info{
  margin-top:auto;
  min-height:58px;
  align-content:flex-start;
}

.rf-card-actions{
  min-height:43px;
  margin-top:14px;
}

/* ---------- Footer: Social Media exakt in der Mitte ---------- */
.rf-footer-bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

.rf-footer-copy{
  justify-self:start;
}

.rf-footer-company{
  justify-self:end;
  text-align:right;
}

.rf-footer-socials{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
}

.rf-social-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #36363c;
  background:#101012;
  color:#d9d9de;
  border-radius:50%;
  transition:.2s ease;
}

.rf-social-icon:hover{
  color:#fff;
  border-color:var(--pink);
  background:#191118;
  transform:translateY(-2px);
}

.rf-social-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.rf-social-icon svg path{
  fill:currentColor;
  stroke:none;
}

.rf-social-icon .rf-social-dot{
  fill:currentColor;
  stroke:none;
}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .rf-header-cta,
  .rf-countdown-link{
    min-width:195px;
  }

  .rf-countdown-event{
    padding-left:42px!important;
  }
}

@media(max-width:1020px){
  /* Auf Tablet/Hamburger ist der obere CTA nicht mehr sichtbar,
     deshalb verschwindet auch der rechte Countdown-CTA. */
  .rf-countdown-link{
    display:none!important;
  }

  .rf-countdown-event{
    padding-left:40px!important;
  }
}

@media(max-width:760px){
  /*
   * Mobile: Eventblock bewusst eingerückt.
   * Das verhindert das "nach außen fallende" Bild und schafft
   * eine klare linke Achse unter dem sichtbaren Logo.
   */
  .rf-countdown-event{
    padding-left:46px!important;
  }

  .rf-event-card h3{
    min-height:0;
  }

  .rf-event-card-content>p{
    flex:0 0 auto;
  }

  .rf-card-info{
    min-height:0;
  }

  .rf-card-actions{
    min-height:0;
  }

  .rf-footer-bottom{
    grid-template-columns:1fr;
    justify-items:center;
    gap:16px;
    text-align:center;
  }

  .rf-footer-copy,
  .rf-footer-company,
  .rf-footer-socials{
    justify-self:center;
    text-align:center;
  }

  .rf-footer-socials{
    order:-1;
  }
}

@media(max-width:390px){
  .rf-countdown-event{
    padding-left:38px!important;
  }
}


/* =====================================================================
   V16 – Social-Media-Icons in Markenfarben
   ===================================================================== */

.rf-social-icon{
  color:#fff;
  border:0;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}

/* Instagram: charakteristischer mehrfarbiger Verlauf */
.rf-social-instagram{
  background:
    radial-gradient(circle at 31% 107%, #ffd36a 0 14%, transparent 34%),
    radial-gradient(circle at 12% 91%, #ff5a3c 0 27%, transparent 50%),
    radial-gradient(circle at 88% 8%, #7a35c7 0 27%, transparent 52%),
    linear-gradient(135deg,#405de6 0%,#5851db 18%,#833ab4 38%,#c13584 55%,#e1306c 68%,#fd1d1d 78%,#f56040 88%,#f77737 100%);
}

.rf-social-instagram:hover{
  color:#fff;
  border:0;
  filter:brightness(1.08) saturate(1.08);
  transform:translateY(-2px) scale(1.04);
}

/* Facebook */
.rf-social-facebook{
  background:#1877f2;
}

.rf-social-facebook:hover{
  color:#fff;
  border:0;
  background:#2b84f6;
  transform:translateY(-2px) scale(1.04);
}

/* Symbole weiß */
.rf-social-instagram svg,
.rf-social-facebook svg{
  color:#fff;
  stroke:#fff;
}

.rf-social-facebook svg path{
  fill:#fff;
}

.rf-social-icon .rf-social-dot{
  fill:#fff;
  stroke:none;
}


/* =====================================================================
   V17 – Kontaktformular & Textfeinschliff
   ===================================================================== */

.rf-contact-form select{
  width:100%;
  background:#09090b;
  border:1px solid #303036;
  color:#fff;
  padding:15px;
  font-size:17px;
  outline:none;
  appearance:auto;
}

.rf-contact-form select:focus{
  border-color:var(--pink);
}

.rf-contact-form label>small{
  display:block;
  margin-top:-1px;
  color:#85858d;
  font-size:13px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0;
  text-transform:none;
}

.rf-contact-select-primary{
  padding:17px;
  border:1px solid #3a3a40;
  background:#151519;
}

.rf-contact-select-primary select{
  margin-top:4px;
  border-color:#4a4a52;
}

.rf-contact-select-primary:before{
  content:"01";
  display:inline-block;
  margin-right:8px;
  color:var(--pink);
  font-size:12px;
  font-weight:900;
}

@media(max-width:760px){
  .rf-contact-form select{
    font-size:16px;
  }

  .rf-contact-select-primary{
    padding:14px;
  }
}


/* =====================================================================
   V18 – Jobs & Bewerbung
   ===================================================================== */
.rf-jobs-list{
  padding:45px max(24px,calc((100vw - var(--max))/2)) 100px;
  background:#0d0d0f;
}
.rf-job-card{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 230px;
  gap:35px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid #303036;
}
.rf-job-card-meta{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rf-job-card-meta span{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8c8c95;
}
.rf-job-card-main h2{
  margin:0 0 10px;
  font-size:34px;
  text-transform:uppercase;
  line-height:1;
}
.rf-job-card-main p{
  margin:0;
  color:#9f9fa7;
  font-size:16px;
  line-height:1.65;
}
.rf-job-card-actions{
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.rf-job-card-actions small{
  color:#85858e;
  font-size:12px;
}
.rf-jobs-empty{
  padding:65px 0;
  max-width:760px;
}
.rf-jobs-empty h2{
  font-size:42px;
  text-transform:uppercase;
  margin:10px 0 14px;
}

.rf-job-hero{
  background:radial-gradient(circle at 80% 30%,rgba(230,0,126,.25),transparent 28%),#0b0b0d;
  border-bottom:1px solid #29292f;
}
.rf-job-hero-inner{
  width:min(var(--max),calc(100% - 48px));
  min-height:560px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) .7fr;
  gap:70px;
  align-items:center;
}
.rf-job-hero h1{
  font-size:clamp(54px,7vw,94px);
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-.05em;
  margin:12px 0 20px;
}
.rf-job-hero p{
  max-width:680px;
  color:#b2b2ba;
  font-size:18px;
  line-height:1.7;
}
.rf-job-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:22px 0 28px;
}
.rf-job-meta span{
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.rf-job-meta span:before{
  content:"";
  display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--pink);
  margin-right:8px;
}
.rf-job-hero-mark{
  justify-self:end;
  font-size:clamp(70px,8vw,120px);
  font-weight:900;
  line-height:.75;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.08);
  text-align:right;
}
.rf-job-body{
  width:min(var(--max),calc(100% - 48px));
  margin:auto;
  padding:80px 0 100px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:90px;
  align-items:start;
}
.rf-job-section{
  padding-bottom:42px;
  margin-bottom:42px;
  border-bottom:1px solid #303036;
}
.rf-job-section h2{
  font-size:36px;
  text-transform:uppercase;
  margin:10px 0 22px;
}
.rf-job-points{
  list-style:none;
  padding:0;margin:0;
  display:grid;
  gap:10px;
}
.rf-job-points li{
  position:relative;
  padding:14px 16px 14px 42px;
  background:#121215;
  border:1px solid #2e2e34;
  font-size:16px;
  line-height:1.5;
}
.rf-job-points li:before{
  content:"";
  position:absolute;
  left:17px;top:21px;
  width:8px;height:8px;
  background:var(--pink);
}
.rf-job-apply-box{
  position:sticky;
  top:180px;
  background:#131316;
  border:1px solid #323238;
  padding:25px;
}
.rf-job-apply-box h3{
  font-size:28px;
  text-transform:uppercase;
  margin:10px 0;
}
.rf-job-apply-box p{
  color:#9999a1;
  line-height:1.6;
}
.rf-job-apply-box small{
  display:block;
  margin-top:12px;
  color:#777780;
  font-size:12px;
  line-height:1.5;
}

.rf-application-layout{
  width:min(var(--max),calc(100% - 48px));
  margin:auto;
  padding:70px 0 100px;
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:65px;
  align-items:start;
}
.rf-application-summary{
  position:sticky;
  top:180px;
  padding:24px;
  border:1px solid #303036;
  background:#121215;
}
.rf-application-summary h2{
  font-size:28px;
  text-transform:uppercase;
}
.rf-application-summary p{
  color:#9a9aa2;
  line-height:1.6;
}
.rf-application-note{
  padding-top:16px;
  border-top:1px solid #303036;
}
.rf-application-form{
  display:flex;
  flex-direction:column;
  gap:17px;
  background:#121215;
  border:1px solid #303036;
  padding:30px;
}
.rf-application-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
}
.rf-application-form label>b{color:var(--pink)}
.rf-application-form label>small{
  color:#82828a;
  font-weight:400;
  font-size:13px;
}
.rf-application-form input,
.rf-application-form textarea,
.rf-application-form select{
  width:100%;
  background:#09090b;
  border:1px solid #34343b;
  color:#fff;
  padding:15px;
  font-size:16px;
  outline:none;
}
.rf-application-form input:focus,
.rf-application-form textarea:focus,
.rf-application-form select:focus{border-color:var(--pink)}
.rf-upload-field{
  padding:18px;
  border:1px dashed #4b4b53;
  background:#0d0d10;
}
.rf-upload-field>span{
  font-size:13px;
  color:#85858d;
  font-weight:400;
}
.rf-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;
}
.rf-success-panel{
  min-height:560px;
  display:grid;
  place-items:center;
  padding:70px 24px;
  text-align:center;
}
.rf-success-panel>div{max-width:760px}
.rf-success-panel h1{
  font-size:clamp(54px,7vw,90px);
  text-transform:uppercase;
  margin:10px 0;
}
.rf-success-panel p{
  color:#aaaab2;
  font-size:18px;
  line-height:1.7;
}

@media(max-width:950px){
  .rf-job-card{grid-template-columns:160px minmax(0,1fr)}
  .rf-job-card-actions{grid-column:2;justify-self:start;align-items:flex-start}
  .rf-job-body{grid-template-columns:1fr;gap:35px}
  .rf-job-apply-box{position:static}
  .rf-application-layout{grid-template-columns:1fr;gap:28px}
  .rf-application-summary{position:static}
}
@media(max-width:760px){
  .rf-jobs-list{padding:25px 14px 65px}
  .rf-job-card{grid-template-columns:1fr;gap:15px;padding:24px 0}
  .rf-job-card-actions{grid-column:1;justify-self:stretch;align-items:stretch}
  .rf-job-card-actions .rf-btn{width:100%}
  .rf-job-card-main h2{font-size:28px}
  .rf-job-hero-inner{width:calc(100% - 28px);min-height:0;display:block;padding:65px 0}
  .rf-job-hero h1{font-size:clamp(42px,12vw,58px)}
  .rf-job-hero-mark{display:none}
  .rf-job-body{width:calc(100% - 28px);padding:55px 0 70px}
  .rf-job-section h2{font-size:30px}
  .rf-application-layout{width:calc(100% - 28px);padding:45px 0 70px}
  .rf-application-form{padding:18px}
}


/* =====================================================================
   V19 – Bewerbungsanhänge einzeln entfernen
   ===================================================================== */
.rf-selected-files{
  display:none;
  margin-top:12px;
  gap:7px;
}
.rf-selected-files.has-files{
  display:grid;
}
.rf-selected-file{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:11px 12px;
  border:1px solid #34343b;
  background:#151519;
}
.rf-selected-file>span{
  min-width:0;
}
.rf-selected-file b,
.rf-selected-file small{
  display:block;
}
.rf-selected-file b{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.rf-selected-file small{
  margin-top:3px;
  color:#7f7f88;
  font-size:12px;
}
.rf-remove-selected-file{
  flex:0 0 auto;
  border:1px solid #663047;
  background:#2b141e;
  color:#ffc1d8;
  padding:8px 10px;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.rf-remove-selected-file:hover{
  border-color:var(--pink);
  color:#fff;
}


/* =====================================================================
   V21 – Bewerbungen: Datenschutzzeile & Initiativbewerbung
   ===================================================================== */
.rf-application-form .rf-privacy{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:11px!important;
  padding:14px 0!important;
  margin:0!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.rf-application-form .rf-privacy input[type="checkbox"]{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  flex:0 0 19px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.rf-application-form .rf-privacy>span{
  display:block;
  min-width:0;
  color:#aaaab1;
  font-size:14px;
  line-height:1.55;
}
.rf-application-form .rf-privacy a{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--pink);
}

.rf-initiative-card{
  margin-top:24px;
  padding:28px;
  border:1px solid #4a2d3d;
  background:linear-gradient(135deg,#181116,#111114);
}
.rf-initiative-card h2{
  margin:8px 0 12px;
  font-size:32px;
  text-transform:uppercase;
}
.rf-initiative-card p{
  color:#9f9fa7;
  line-height:1.65;
}
.rf-position-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.rf-position-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  padding:13px!important;
  border:1px solid #34343b;
  background:#0d0d10;
  cursor:pointer;
}
.rf-position-check input{
  width:18px!important;height:18px!important;min-width:18px!important;padding:0!important;
}
.rf-position-check span{font-size:15px;font-weight:800}
@media(max-width:620px){.rf-position-checks{grid-template-columns:1fr}}


/* =====================================================================
   V21 – Ticketshop & Ticketdesign
   ===================================================================== */
.rf-ticket-event-list{padding:45px max(24px,calc((100vw - var(--max))/2)) 95px;background:#0d0d0f;display:grid;gap:18px}
.rf-ticket-event-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;border:1px solid #303036;background:#111114;padding:18px}
.rf-ticket-event-card img{width:220px;aspect-ratio:1/1;object-fit:cover}.rf-ticket-event-card span{color:var(--pink2);font-size:12px;font-weight:900;text-transform:uppercase}.rf-ticket-event-card h2{font-size:35px;text-transform:uppercase;margin:8px 0}.rf-ticket-event-card p{color:#9b9ba3;line-height:1.6}
.rf-ticket-checkout-layout{width:min(var(--max),calc(100% - 48px));margin:auto;padding:55px 0 90px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:45px;align-items:start}
.rf-ticket-options{display:grid;gap:12px}.rf-ticket-option{display:flex;justify-content:space-between;gap:20px;padding:20px;border:1px solid #303036;background:#121215}.rf-ticket-option h2{margin:5px 0;font-size:27px}.rf-ticket-option p{margin:0;color:#91919a}.rf-ticket-option>div>span{color:var(--pink2);font-size:11px;font-weight:900;text-transform:uppercase}.rf-ticket-option>b{font-size:24px;white-space:nowrap}
.rf-ticket-order-form{position:sticky;top:180px}
.rf-ticket-document-wrap{min-height:100vh;background:#ececef;color:#111;padding:40px}
.rf-ticket-document{max-width:1050px;margin:auto;display:grid;grid-template-columns:330px minmax(0,1fr) 240px;background:#fff;border:1px solid #bbb;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.rf-ticket-visual{position:relative;min-height:330px;overflow:hidden;background:#111}.rf-ticket-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.rf-ticket-visual-overlay{position:absolute;inset:auto 16px 16px 16px;background:rgba(0,0,0,.72);padding:12px}.rf-ticket-visual-overlay img{width:100px}
.rf-ticket-document-main{padding:28px}.rf-ticket-document-main h1{font-size:42px;line-height:.95;text-transform:uppercase;margin:8px 0 24px}.rf-ticket-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rf-ticket-facts div{border-top:1px solid #ccc;padding-top:8px}.rf-ticket-facts small,.rf-ticket-facts b{display:block}.rf-ticket-facts small{font-size:10px;text-transform:uppercase;color:#666}.rf-ticket-facts b{font-size:14px;margin-top:3px}.rf-ticket-id{margin-top:25px;display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:#555}
.rf-ticket-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border-left:2px dashed #bbb;text-align:center}.rf-ticket-qr small{margin-top:12px;color:#555;font-size:11px}.rf-ticket-print{display:block;margin:24px auto;color:#111;border-color:#444}
@media(max-width:850px){.rf-ticket-checkout-layout{grid-template-columns:1fr}.rf-ticket-order-form{position:static}.rf-ticket-document{grid-template-columns:1fr}.rf-ticket-qr{border-left:0;border-top:2px dashed #bbb}.rf-ticket-visual{min-height:260px}}
@media(max-width:680px){.rf-ticket-event-card{grid-template-columns:90px minmax(0,1fr);gap:14px}.rf-ticket-event-card img{width:90px}.rf-ticket-event-card h2{font-size:24px}.rf-ticket-event-card p{grid-column:1/3}.rf-ticket-document-wrap{padding:10px}.rf-ticket-document-main h1{font-size:32px}}
@media print{.rf-ticket-print,.rf-header,.rf-footer{display:none!important}.rf-ticket-document-wrap{padding:0;background:#fff}.rf-ticket-document{box-shadow:none;border:1px solid #aaa;max-width:none}}


/* =====================================================================
   V22 – Ticketvorschau für Käufer
   ===================================================================== */
.rf-ticket-limit{
  display:block!important;
  margin-top:6px!important;
  color:#d8ac65!important;
  font-weight:800;
}
.rf-buyer-ticket-preview{
  margin-top:30px;
  padding:22px;
  border:1px solid #303036;
  background:#111114;
}
.rf-buyer-ticket-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:16px;
}
.rf-buyer-ticket-preview-head h2{
  margin:5px 0 0;
  font-size:30px;
  text-transform:uppercase;
}
.rf-buyer-ticket-preview-head>span{
  color:#777780;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
}
.rf-ticket-preview-public{
  display:grid;
  grid-template-columns:185px minmax(0,1fr) 150px;
  min-height:215px;
  background:#f5f5f7;
  color:#111;
  border:1px solid #bcbcc0;
  overflow:hidden;
}
.rf-ticket-preview-public-poster{position:relative;overflow:hidden;background:#111}
.rf-ticket-preview-public-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rf-ticket-preview-public-poster>div{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.74);padding:7px}
.rf-ticket-preview-public-poster>div img{display:block;width:65px}
.rf-ticket-preview-public-poster>strong{position:absolute;right:8px;top:8px;background:var(--pink);color:#fff;padding:4px 6px;font-size:9px;letter-spacing:.08em}
.rf-ticket-preview-public-info{padding:18px}
.rf-ticket-preview-public-info>small{color:var(--pink);font-weight:900;text-transform:uppercase;font-size:9px}
.rf-ticket-preview-public-info h3{margin:6px 0 14px;font-size:25px;line-height:.98;text-transform:uppercase;color:#111}
.rf-ticket-preview-public-info>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rf-ticket-preview-public-info>div span{padding-top:6px;border-top:1px solid #bdbdc1}
.rf-ticket-preview-public-info>div small,.rf-ticket-preview-public-info>div b{display:block}
.rf-ticket-preview-public-info>div small{font-size:8px;text-transform:uppercase;color:#666}
.rf-ticket-preview-public-info>div b{font-size:11px;color:#111;margin-top:2px}
.rf-ticket-preview-public-info>em{display:block;margin-top:13px;font-style:normal;font-size:8px;color:#666}
.rf-ticket-preview-public-qr{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:13px;border-left:2px dashed #bbb}
.rf-demo-qr-public{
  width:92px;height:92px;background:
  linear-gradient(90deg,#000 12%,transparent 12% 24%,#000 24% 38%,transparent 38% 52%,#000 52% 66%,transparent 66% 78%,#000 78%),
  linear-gradient(#000 10%,transparent 10% 22%,#000 22% 36%,transparent 36% 49%,#000 49% 63%,transparent 63% 77%,#000 77%);
  background-color:#fff;border:7px solid #fff;outline:1px solid #aaa
}
.rf-ticket-preview-public-qr small{margin-top:9px;color:#555;font-size:8px;line-height:1.3;text-align:center}
#publicTicketLimitHint{min-height:1.4em}
@media(max-width:720px){
  .rf-buyer-ticket-preview{padding:14px}
  .rf-buyer-ticket-preview-head{align-items:flex-start;flex-direction:column}
  .rf-ticket-preview-public{grid-template-columns:95px minmax(0,1fr)}
  .rf-ticket-preview-public-poster{min-height:155px}
  .rf-ticket-preview-public-qr{grid-column:1/3;border-left:0;border-top:2px dashed #bbb;padding:15px}
  .rf-ticket-preview-public-info h3{font-size:20px}
}


/* =====================================================================
   V23 – sicheres Ticketdesign / Logo nicht mehr auf Eventposter
   ===================================================================== */
.rf-ticket-secure .rf-ticket-visual{
  position:relative;
}
.rf-ticket-visual-number{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:6px 9px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
}
.rf-ticket-brand-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:7px;
}
.rf-ticket-brand-row>div>small{
  display:block;
  color:#777;
  margin-top:3px;
  font-size:9px;
  text-transform:uppercase;
}
.rf-ticket-brand-row>img{
  width:88px;
  height:48px;
  object-fit:contain;
  object-position:right center;
  margin-top:-8px;
}
.rf-ticket-security{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:10px;
  margin-top:18px;
  padding:13px;
  background:#f0f0f2;
  border:1px solid #c8c8cc;
}
.rf-ticket-security small,
.rf-ticket-security b{
  display:block;
}
.rf-ticket-security small{
  color:#666;
  font-size:8px;
  text-transform:uppercase;
}
.rf-ticket-security b{
  margin-top:4px;
  font-size:12px;
  letter-spacing:.035em;
  overflow-wrap:anywhere;
}
.rf-ticket-validity-note{
  margin:17px 0 0;
  padding-top:10px;
  border-top:1px solid #ccc;
  color:#555;
  font-size:8px;
  line-height:1.45;
}
.rf-ticket-qr>b{
  display:block;
  margin-top:9px;
  color:#111;
  font-size:9px;
  letter-spacing:.04em;
  text-align:center;
}
.rf-ticket-online-status{
  max-width:1050px;
  margin:15px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#333;
  font-size:12px;
}
.rf-ticket-online-status span{text-transform:uppercase;font-size:9px;font-weight:900}
.rf-ticket-online-status .good{color:#087743}
.rf-ticket-online-status .warn{color:#9a6500}
.rf-ticket-online-status .bad{color:#a22238}

.ticket-preview-brand{
  float:right;
  width:80px;
  margin:-11px -8px 4px 12px;
}
.ticket-preview-brand img{
  display:block;
  width:100%;
  height:45px;
  object-fit:contain;
  object-position:right center;
}
.rf-ticket-preview-public-brand{
  float:right;
  width:68px;
  margin:-9px -3px 3px 10px;
}
.rf-ticket-preview-public-brand img{
  width:100%;
  height:38px;
  object-fit:contain;
  object-position:right center;
}
.rf-ticket-preview-public-poster>div{
  display:none!important;
}
@media(max-width:680px){
  .rf-ticket-security{grid-template-columns:1fr}
  .rf-ticket-brand-row>img{width:72px}
}
@media print{
  .rf-ticket-online-status{display:none!important}
}

/* V24 */
.rf-ticket-document.rf-ticket-format-dl,.rf-ticket-preview-public.rf-ticket-format-dl{position:relative;aspect-ratio:210/99!important;min-height:0!important;overflow:hidden}.rf-ticket-document.rf-ticket-format-dl{width:min(1100px,calc(100vw - 40px));grid-template-columns:24% 57% 19%!important}.rf-ticket-preview-public.rf-ticket-format-dl{grid-template-columns:24% 57% 19%!important}.rf-ticket-watermark-bg{position:absolute!important;z-index:0!important;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;pointer-events:none}.rf-ticket-document>*:not(.rf-ticket-watermark-bg),.rf-ticket-preview-public>*:not(.rf-ticket-watermark-bg){position:relative;z-index:2}.rf-ticket-brand-row>img{width:78px!important;height:44px!important;object-fit:contain!important}.rf-ticket-preview-public-brand img{width:64px!important;height:38px!important;object-fit:contain!important}@media print{.rf-ticket-document.rf-ticket-format-dl{width:210mm!important;height:99mm!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important}.rf-ticket-document-wrap{padding:0!important;margin:0!important;min-height:0!important}}


/* V26.4 – AGB, Altersfreigabe und Muttizettel */
.rf-age-card{border:1px solid rgba(238,11,121,.35);background:linear-gradient(135deg,rgba(238,11,121,.08),rgba(255,255,255,.02));padding:24px;border-radius:18px}.rf-age-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 12px;margin:8px 0 10px;border:1px solid #ee0b79;border-radius:999px;color:#fff;background:#ee0b79;font-size:14px;letter-spacing:.08em}.rf-terms-check{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:14px 15px!important;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.035)}.rf-terms-check input{width:auto!important;margin-top:3px}.rf-terms-check a{text-decoration:underline}.rf-legal-document{max-width:980px;margin:0 auto 80px;padding:38px 42px;border:1px solid rgba(255,255,255,.12);background:#101012;border-radius:18px}.rf-legal-document h1{font-size:clamp(28px,4vw,48px);margin:0 0 24px}.rf-legal-document h2{font-size:23px;margin:34px 0 10px}.rf-legal-document p,.rf-legal-document li{line-height:1.7;color:#d5d5d9}.rf-legal-version{padding:10px 12px;border-left:3px solid #ee0b79;background:rgba(238,11,121,.06)}
.rf-mutti-page{padding-bottom:70px}.rf-mutti-actions,.rf-mutti-bottom-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.rf-mutti-sheet{box-sizing:border-box;width:min(210mm,calc(100% - 28px));margin:30px auto;background:#fff;color:#111;padding:15mm 16mm;box-shadow:0 20px 70px rgba(0,0,0,.28);font-family:Arial,Helvetica,sans-serif;font-size:11.5pt;line-height:1.38}.rf-mutti-sheet *{box-sizing:border-box}.rf-mutti-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:9px;margin-bottom:10px}.rf-mutti-head h1{font-size:21pt;margin:0 0 2px;letter-spacing:.02em}.rf-mutti-head p{margin:2px 0}.rf-mutti-head img{width:32mm;height:18mm;object-fit:contain}.rf-mutti-valid{padding:7px 9px;border:1px solid #222;background:#f2f2f2}.rf-mutti-event-grid,.rf-mutti-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.rf-mutti-event-grid label:first-child{grid-column:1/-1}.rf-mutti-sheet label{display:grid;gap:3px;font-weight:700}.rf-mutti-sheet input{font:inherit;color:#111;background:#fff;border:0;border-bottom:1px solid #333;border-radius:0;padding:5px 2px;min-height:30px}.rf-mutti-sheet input[readonly]{font-weight:700;background:#f7f7f7;padding-left:6px}.rf-mutti-sheet h2{font-size:14pt;margin:18px 0 8px}.rf-mutti-sheet ul{margin:8px 0 0;padding-left:20px}.rf-mutti-sheet li{margin:5px 0}.rf-mutti-signatures{display:grid;gap:15px;margin-top:14px}.rf-mutti-signatures label{grid-template-columns:48mm 1fr;align-items:end}.rf-mutti-signatures small{grid-column:2;color:#555;font-weight:400;margin-top:-2px}.rf-mutti-warning{margin-top:18px;padding:10px;border:1px solid #333;background:#f4f4f4}.rf-mutti-sheet>footer{margin-top:14px;font-size:9pt;color:#444}.rf-mutti-page-break{height:8mm;border-top:1px dashed #bbb;margin:12mm 0 0}.rf-mutti-bottom-actions{justify-content:center;margin:25px auto;max-width:1000px}
@media(max-width:760px){.rf-legal-document{padding:25px 20px;margin-left:14px;margin-right:14px}.rf-mutti-sheet{padding:22px 18px;font-size:10pt}.rf-mutti-event-grid,.rf-mutti-grid{grid-template-columns:1fr}.rf-mutti-event-grid label:first-child{grid-column:auto}.rf-mutti-head{display:block}.rf-mutti-head img{margin-top:10px}.rf-mutti-signatures label{grid-template-columns:1fr}}
@media print{.page-muttizettel .rf-header,.page-muttizettel .rf-footer,.rf-mutti-screen-only{display:none!important}.page-muttizettel,.page-muttizettel body{background:#fff!important}.rf-mutti-page{padding:0!important;margin:0!important}.rf-mutti-sheet{width:210mm!important;min-height:297mm!important;margin:0!important;padding:13mm 15mm!important;box-shadow:none!important;border:0!important;font-size:10.5pt!important}.rf-mutti-sheet input{border-bottom:1px solid #000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rf-mutti-page-break{break-before:page;page-break-before:always;height:0;border:0;margin:0}.rf-mutti-sheet h2{break-after:avoid;page-break-after:avoid}.rf-mutti-warning{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:0}}

/* =====================================================================
   V26.6 – dreistufiger Ticketcheckout
   ===================================================================== */
.rf-checkout-shell{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:42px 0 95px}
.rf-checkout-steps{list-style:none;margin:0 0 38px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;counter-reset:none}
.rf-checkout-steps li{min-width:0;display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #2d2d33;background:#101013;color:#74747d;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.rf-checkout-steps li b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #45454d;border-radius:50%;font-size:12px;color:#aaa}
.rf-checkout-steps li.active{border-color:rgba(238,11,121,.65);background:rgba(238,11,121,.08);color:#fff}.rf-checkout-steps li.active b{background:var(--pink);border-color:var(--pink);color:#fff}
.rf-checkout-steps li.done{color:#b9b9bf}.rf-checkout-steps li.done b{border-color:#2d8f5b;color:#7be0aa;background:rgba(45,143,91,.12)}
.rf-checkout-notice{margin:0 0 22px}
.rf-checkout-stage{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:42px;align-items:start}.rf-checkout-stage-selection{grid-template-columns:minmax(0,1fr) minmax(340px,520px)}
.rf-checkout-main,.rf-checkout-side{min-width:0}.rf-checkout-side{position:sticky;top:180px}
.rf-checkout-heading{margin-bottom:24px}.rf-checkout-heading h1,.rf-checkout-heading h2{margin:6px 0 8px;font-size:clamp(29px,4vw,46px);line-height:1;text-transform:uppercase}.rf-checkout-heading p{max-width:740px;color:#a6a6ae;line-height:1.6}
.rf-ticket-choice-list{display:grid;gap:12px}.rf-ticket-choice{position:relative;display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:16px!important;padding:20px!important;border:1px solid #303036!important;background:#121215!important;cursor:pointer}.rf-ticket-choice input{position:absolute;opacity:0;pointer-events:none}.rf-ticket-choice-mark{width:22px;height:22px;border-radius:50%;border:2px solid #65656d;display:block;position:relative}.rf-ticket-choice input:checked~.rf-ticket-choice-mark{border-color:var(--pink)}.rf-ticket-choice input:checked~.rf-ticket-choice-mark:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--pink)}.rf-ticket-choice:has(input:checked){border-color:rgba(238,11,121,.7)!important;background:rgba(238,11,121,.055)!important}.rf-ticket-choice-copy{display:flex;flex-direction:column;gap:3px}.rf-ticket-choice-copy small{color:var(--pink2);font-size:10px;text-transform:uppercase;font-weight:900}.rf-ticket-choice-copy b{font-size:21px}.rf-ticket-choice-copy em{font-style:normal;color:#9a9aa3;font-size:13px;line-height:1.45}.rf-ticket-choice-copy i{font-style:normal;color:#d2b47e;font-size:11px;font-weight:700}.rf-ticket-choice>strong{font-size:22px;white-space:nowrap}
.rf-ticket-quantity-box{margin-top:18px;padding:20px;border:1px solid #303036;background:#0f0f12}.rf-ticket-quantity-box>label{display:block;margin-bottom:10px;font-weight:900}.rf-quantity-control{display:grid;grid-template-columns:48px 82px 48px;width:max-content;border:1px solid #3a3a41}.rf-quantity-control button,.rf-quantity-control input{height:48px;border:0!important;background:#151519!important;color:#fff!important;text-align:center;font-size:20px;font-weight:900}.rf-quantity-control button{cursor:pointer;border-right:1px solid #3a3a41!important}.rf-quantity-control button:last-child{border-right:0!important;border-left:1px solid #3a3a41!important}.rf-quantity-control input{-moz-appearance:textfield}.rf-quantity-control input::-webkit-outer-spin-button,.rf-quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rf-ticket-quantity-box>small{display:block;min-height:20px;margin-top:8px;color:#9999a2}.rf-selection-total{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:16px;padding-top:15px;border-top:1px solid #303036}.rf-selection-total span{font-size:12px;text-transform:uppercase;color:#9b9ba4;font-weight:900}.rf-selection-total b{font-size:26px}.rf-checkout-next{margin-top:18px;width:100%;justify-content:space-between}
.rf-checkout-side .rf-buyer-ticket-preview{margin:0}.rf-checkout-stage-selection .rf-ticket-preview-public{grid-template-columns:130px minmax(0,1fr);min-height:190px}.rf-checkout-stage-selection .rf-ticket-preview-public-qr{grid-column:1/3;border-left:0;border-top:2px dashed #bbb;padding:12px}.rf-checkout-stage-selection .rf-demo-qr-public{width:70px;height:70px}.rf-checkout-stage-selection .rf-ticket-preview-public-info h3{font-size:21px}
.rf-checkout-data-form{max-width:none}.rf-checkout-data-form>label,.rf-checkout-data-form .rf-form-grid>label{display:flex;flex-direction:column;gap:7px}.rf-checkout-data-form input,.rf-checkout-data-form select{width:100%;min-height:52px}.rf-form-grid-postal{grid-template-columns:180px 1fr}.rf-checkout-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px}.rf-btn-secondary{background:#17171b!important;border-color:#3a3a42!important;color:#fff!important}
.rf-order-summary-card{padding:24px;border:1px solid #303036;background:#111114}.rf-order-summary-card h2{font-size:24px;text-transform:uppercase;margin:7px 0 18px}.rf-order-summary-card>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #303036}.rf-order-summary-card>small{display:block;margin-top:13px;color:#92929a;line-height:1.5}.rf-order-summary-card .discount{color:#81d9a7}.rf-order-summary-card .total{margin-top:5px;border-top:2px solid #eee;font-size:20px}.rf-order-summary-card .total b{font-size:26px}
.rf-review-section{margin-bottom:14px;padding:22px;border:1px solid #303036;background:#111114}.rf-review-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.rf-review-head h2{margin:0;font-size:20px;text-transform:uppercase}.rf-review-head a{font-size:12px;color:#fff;text-decoration:underline}.rf-review-line{display:flex;justify-content:space-between;gap:20px;align-items:start}.rf-review-line b,.rf-review-line small{display:block}.rf-review-line small{margin-top:5px;color:#9999a2}.rf-review-line strong{font-size:22px;white-space:nowrap}.rf-review-section address{font-style:normal;line-height:1.6}.rf-review-section p{color:#d2d2d7;line-height:1.55}.rf-review-warning{color:#ff9eae!important}.rf-final-order-form{margin-top:20px}.rf-final-order-button{width:100%;justify-content:space-between;margin-top:13px;font-size:15px}.rf-final-order-button:disabled{opacity:.45;cursor:not-allowed}.rf-success-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:980px){.rf-checkout-stage,.rf-checkout-stage-selection{grid-template-columns:1fr}.rf-checkout-side{position:static}.rf-checkout-stage-selection .rf-ticket-preview-public{grid-template-columns:185px minmax(0,1fr) 150px}.rf-checkout-stage-selection .rf-ticket-preview-public-qr{grid-column:auto;border-left:2px dashed #bbb;border-top:0}}
@media(max-width:680px){.rf-checkout-shell{width:min(100% - 28px,var(--max));padding-top:25px}.rf-checkout-steps{gap:5px}.rf-checkout-steps li{padding:9px 8px;gap:6px;font-size:9px;letter-spacing:0}.rf-checkout-steps li b{width:24px;height:24px;flex-basis:24px}.rf-ticket-choice{grid-template-columns:22px minmax(0,1fr)!important;padding:16px!important}.rf-ticket-choice>strong{grid-column:2;font-size:18px}.rf-form-grid-postal{grid-template-columns:120px minmax(0,1fr)}.rf-checkout-stage-selection .rf-ticket-preview-public{grid-template-columns:95px minmax(0,1fr)}.rf-checkout-stage-selection .rf-ticket-preview-public-qr{grid-column:1/3;border-left:0;border-top:2px dashed #bbb}.rf-checkout-actions .rf-btn{width:100%;justify-content:center}.rf-review-line{flex-direction:column}.rf-review-line strong{align-self:flex-end}}

/* =====================================================================
   V26.8.18 – Feinwerktechnik-Bender Footer-Credit kompakt nebeneinander
   ===================================================================== */
.rf-footer-right{
  justify-self:end;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  min-width:0;
  white-space:nowrap;
}

.rf-footer-company{
  flex:0 0 auto;
}

.rf-footer-fwb{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  color:#7d7d85;
  text-transform:none;
  letter-spacing:normal;
  text-decoration:none;
  transition:transform .18s ease,opacity .18s ease;
  min-width:0;
}

.rf-footer-fwb:hover{transform:translateY(-1px)}

.rf-footer-fwb-label{
  font-size:8px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#696971;
  white-space:nowrap;
}

.rf-footer-fwb-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:132px;
  max-width:132px;
  padding:2px 4px;
  border-radius:4px;
  background:#fff;
  border:1px solid #24242a;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
  overflow:visible;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.rf-footer-fwb:hover .rf-footer-fwb-logo-wrap{
  border-color:#4c78a9;
  box-shadow:0 6px 18px rgba(0,0,0,.24);
}

.rf-footer-fwb-logo-wrap img{
  display:block;
  width:100%;
  height:auto;
  max-height:42px;
  object-fit:contain;
  object-position:center;
  overflow:visible;
}

.rf-footer-fwb-url{
  font-size:9px;
  color:#868690;
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}

@media(max-width:920px){
  .rf-footer-right{gap:10px;flex-wrap:wrap;white-space:normal}
  .rf-footer-fwb{gap:6px}
  .rf-footer-fwb-logo-wrap{width:120px;max-width:120px}
}

@media(max-width:760px){
  .rf-footer-right{
    justify-self:center;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:10px;
    width:100%;
  }
  .rf-footer-fwb{align-items:center;justify-content:center}
  .rf-footer-fwb-logo-wrap{width:118px;max-width:118px}
  .rf-footer-fwb-label{font-size:7.5px}
}

/* V26.8.19: sichtbarer Footer-Hardfix liegt absichtlich zusätzlich inline in includes/footer.php, um Browser-/Hosting-Cache sicher zu umgehen. */


/* V26.9.1 · MeineStadtFeiert Branding */
.rf-logo{width:240px;height:74px}
.rf-logo img{max-height:74px}
.rf-footer-brand img{width:min(260px,100%)}
.rf-brand-visual{display:flex;align-items:center;justify-content:center;min-height:250px}
.rf-brand-visual img{display:block;width:min(100%,460px);height:auto;filter:drop-shadow(0 22px 35px rgba(0,0,0,.28))}
@media(max-width:960px){.rf-logo{width:220px}}
@media(max-width:760px){.rf-logo{width:200px;height:64px}.rf-logo img{max-height:64px}.rf-brand-visual{min-height:0;margin-top:8px}.rf-brand-visual img{width:min(100%,380px)}}
