:root{--red:#004077;--red-dark:#002f59;--ink:#202326;--muted:#6c7277;--paper:#fff;--soft:#f3f4f4;--line:#e3e5e6;--radius:12px;--shadow:0 12px 35px rgba(20,25,28,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-row{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;display:flex;align-items:center;line-height:1}.brand img{display:block;width:200px;max-height:58px;height:auto}.main-nav{display:flex;align-items:center;gap:30px}.main-nav a{text-decoration:none;font-weight:700;font-size:14px}.main-nav a:hover{color:var(--red)}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font-weight:700}.hero{min-height:410px;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden;background:#202326}.hero-image{position:absolute;inset:0;background:url('https://www.wattzeit.de/images/veranstaltungen-1300x400/gezeitenlauf.jpg') center 45%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,20,.82),rgba(17,19,20,.38) 60%,rgba(17,19,20,.1))}.hero-content{position:relative;padding:74px 0 66px}.eyebrow,.kicker{margin:0 0 10px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(43px,6vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 18px;max-width:700px}.lead{font-size:18px;max-width:650px;color:rgba(255,255,255,.9);margin:0 0 27px}.hero-link{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-weight:800;border-bottom:2px solid var(--red);padding-bottom:4px}.section{padding:76px 0 88px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.section-head h2,.notice-grid h2{font-size:clamp(27px,3.2vw,36px);line-height:1.05;letter-spacing:-.035em;margin:0}.section-copy{max-width:440px;margin:0;color:var(--muted)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.event-card{background:#fff;border:1px solid var(--red);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:.2s ease}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--red)}.event-photo{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,#e3e4e5,#c9ccce);background-size:cover;background-position:center}.event-body{padding:23px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.event-date{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:7px}.event-card h3{font-size:21px;line-height:1.15;margin:0 0 9px;letter-spacing:-.02em}.disciplines{color:var(--muted);font-size:14px;margin:0 0 20px}.button{margin-top:auto;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:7px;background:var(--red);color:#fff;text-decoration:none;font-size:13px;font-weight:850}.button:hover{background:var(--red-dark)}.soon{margin-top:auto;font-size:13px;font-weight:800;color:var(--muted)}.results-section{background:var(--soft);padding:76px 0 88px}.result-year{background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 12px;overflow:hidden}.result-year summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:20px;font-weight:900;display:flex;justify-content:space-between;align-items:center}.result-year summary::-webkit-details-marker{display:none}.result-year summary:after{content:'+';color:var(--red);font-size:26px;font-weight:500}.result-year[open] summary:after{content:'−'}.result-list{border-top:1px solid var(--line);padding:3px 22px 12px}.result-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #eceeef}.result-row:last-child{border:0}.result-date{font-size:13px;color:var(--muted)}.result-name{font-weight:750}.result-link{font-size:13px;color:var(--red);font-weight:850;text-decoration:none}.notice-section{padding:64px 0}.notice-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:start}.notice-grid>p{margin:0;color:var(--muted);font-size:17px}.site-footer{background:#202326;color:#d4d7d8;padding:52px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.brand-footer{color:#fff;margin-bottom:13px}.site-footer p{color:#9da2a5;margin:0}.site-footer strong{display:block;color:#fff;margin-bottom:10px}.site-footer a{display:block;color:#cdd0d1;text-decoration:none;margin:5px 0}.site-footer a:hover{color:#fff}.loading{color:var(--muted)}.error{padding:18px;border:1px solid #efc5c7;background:#fff6f6;border-radius:8px}.legal{min-height:65vh;padding:70px 0;max-width:760px}.legal h1{font-size:48px;letter-spacing:-.04em;margin:0 0 35px}.legal h2{font-size:22px}.legal a{color:var(--red)}.legal-note{margin-top:40px;padding:16px;background:var(--soft);border-radius:8px;color:var(--muted);font-size:14px}
@media(max-width:1000px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.header-row{height:70px}.menu-button{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.hero{min-height:380px}.hero-content{padding:60px 0 52px}.section,.results-section{padding:58px 0 65px}.section-head{display:block}.section-copy{margin-top:14px}.event-grid{grid-template-columns:1fr}.notice-grid{grid-template-columns:1fr;gap:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:520px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:165px;max-height:48px}.hero{min-height:350px}.hero-image{background-position:48% center}.hero-shade{background:rgba(20,22,23,.58)}.event-card{min-height:0}.event-photo{aspect-ratio:16/9}.event-body{padding:18px}.event-card h3{font-size:19px}.result-row{grid-template-columns:1fr;gap:2px;padding:14px 0}.result-link{margin-top:4px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* Direkte Race-Result-Anmeldung */
.registration-button{border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:850}.registration-button:disabled{opacity:.72;cursor:default}.registration-panel{width:100%;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);overflow-x:auto}.registration-panel[hidden]{display:none}.registration-panel .RRRegStart{width:100%}.registration-error{margin:0;color:#8b1e24;font-size:13px}

/* Vollbreite Anmeldung auf Desktop */
.desktop-registration{grid-column:1/-1;width:100%;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.desktop-registration[hidden]{display:none}.desktop-registration .registration-panel{margin:0;padding:0;border:0;overflow:visible}.desktop-registration .RRRegStart{width:100%}
@media(max-width:800px){.desktop-registration{display:none!important}.registration-panel--wide{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}}

@media(max-width:520px){.section-head h2{font-size:25px;letter-spacing:-.03em;white-space:nowrap}.section-head{margin-bottom:26px}}

/* Mobiler Header aus RaceResult_Mobil.pdf */
.mobile-header-art{display:none}
@media(max-width:800px){
  .mobile-header-art{display:block;background:#b51d23;line-height:0}
  .mobile-header-art img{display:block;width:100%;height:auto}
  .hero{display:none}
}


/* Responsive RaceResult header artwork */
.desktop-header-art{display:block;background:#b51d23;line-height:0;height:400px;overflow:hidden}
.desktop-header-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero{display:none}
@media(max-width:800px){
  .desktop-header-art{display:none}
  .mobile-header-art{display:block;background:#b51d23;line-height:0}
  .mobile-header-art img{display:block;width:100%;height:auto}
}
.event-actions{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap}.event-actions .button{margin-top:0}.info-button{border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:850}.info-button:disabled{opacity:.72;cursor:default}.info-panel .RRTextContent{width:100%}

/* Race Result: Event-Gruppenauswahl in der Info-Ansicht ausblenden. */
.info-panel [class*="EventGroup" i],
.info-panel [id*="EventGroup" i],
.info-panel [class*="event-group" i],
.info-panel [id*="event-group" i],
.info-panel [data-event-group],
.info-panel [data-eventgroup]{display:none!important}

/* Typografie: 90 % Schwarz, Veranstaltungsnamen in Wattzeit-Blau */
body{color:rgba(0,0,0,.9)}
.event-date,.eyebrow,.kicker,.result-link,.legal a{color:rgba(0,0,0,.9)}
.section-copy,.disciplines,.soon,.result-date,.notice-grid>p,.loading,.legal-note{color:rgba(0,0,0,.9)}
.event-card h3{color:#004077;font-weight:650}

/* Kompaktere Veranstaltungskarten auf Mobilgeräten */
@media(max-width:520px){
  .event-body{padding:14px 16px 15px;line-height:1.35}
  .event-date{line-height:1.25;margin-bottom:4px}
  .event-card h3{font-size:19px;line-height:1.08;margin-bottom:6px;font-weight:650}
  .disciplines{line-height:1.3;margin-bottom:12px}
  .event-actions{gap:6px}
  .event-actions .button{padding:6px 10px;border-radius:6px;line-height:1.15;font-size:12px}
}

/* Einheitliche flache Aktionsbuttons */
.event-actions button.button{appearance:none;-webkit-appearance:none;border:0;box-shadow:none;outline-offset:2px;cursor:pointer;font-family:inherit}
.info-button,.participants-button,.registration-button{border:0;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;font-size:13px;font-weight:850}

/* Ruhiger Foto-Header mit Crossfade und dezentem Ken-Burns-Effekt */
.desktop-header-art,.mobile-header-art{display:none!important}
.photo-header{position:relative;height:400px;overflow:hidden;background:#17242d}
.photo-header-slide{position:absolute;inset:0;opacity:0;animation:headerCrossfade 32s linear infinite;will-change:opacity}
.photo-header-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:headerKenBurns 8s ease-in-out infinite alternate;will-change:transform}
.photo-header-slide:nth-child(1){animation-delay:0s}
.photo-header-slide:nth-child(2){animation-delay:8s}
.photo-header-slide:nth-child(3){animation-delay:16s}
.photo-header-slide:nth-child(4){animation-delay:24s}
.photo-header-slide:nth-child(2) img,.photo-header-slide:nth-child(4) img{animation-name:headerKenBurnsReverse}
@keyframes headerCrossfade{0%{opacity:0}5%{opacity:1}20%{opacity:1}25%{opacity:0}100%{opacity:0}}
@keyframes headerKenBurns{from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.09) translate3d(.8%,-.5%,0)}}
@keyframes headerKenBurnsReverse{from{transform:scale(1.09) translate3d(.7%,-.4%,0)}to{transform:scale(1.02) translate3d(-.6%,.3%,0)}}
@media(max-width:800px){.photo-header{height:300px}.photo-header-slide img{object-position:center center}}
@media(max-width:520px){.photo-header{height:230px}}
@media(prefers-reduced-motion:reduce){.photo-header-slide,.photo-header-slide img{animation:none!important}.photo-header-slide{opacity:0}.photo-header-slide:first-child{opacity:1}}

/* Mobile Feinschliff: größeres Logo, kompaktere Bereiche und hellblaues Ergebnisfeld */
@media(max-width:520px){
  .header-row{gap:10px}
  .brand{width:calc(100% - 72px);min-width:0}
  .brand img{width:100%;max-width:none;max-height:54px;height:auto}
  .menu-button{flex:0 0 auto}

  #veranstaltungen.section{padding-top:30px;padding-bottom:38px}
  #veranstaltungen .section-head{margin-bottom:20px}
  #ergebnisse.results-section{padding-top:32px;padding-bottom:52px}
  #ergebnisse .section-head{margin-bottom:20px}

  .section-head h2{font-size:23px;font-weight:600;line-height:1.08;letter-spacing:-.025em;white-space:nowrap}
  .results-section{background:#e6ecf2}
}

/* Desktop-Feinschliff: Header im Raster, kompaktere Bereiche, hellblauer Ergebnisbereich */
.results-section{background:#e6ecf2}
@media(min-width:801px){
  .photo-header{height:520px;background:#004077}
  .photo-header-slide{
    left:50%;right:auto;width:min(1120px,calc(100% - 40px));
    transform:translateX(-50%);
  }
  .photo-header-slide img{object-position:center center}

  #veranstaltungen.section{padding-top:42px;padding-bottom:60px}
  #veranstaltungen .section-head{margin-bottom:26px}
  #ergebnisse.results-section{padding-top:44px;padding-bottom:68px}
  #ergebnisse .section-head{margin-bottom:26px}

  .section-head h2{font-size:30px;font-weight:600;line-height:1.08;letter-spacing:-.03em}
}


/* Fixierter, aufgehellter Vektor-Hintergrund aus Hintergrund_2.pdf */
html{background:#fff}
body{background:transparent;position:relative;isolation:isolate}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:#fff url('../bilder/Hintergrund.svg') center center / cover no-repeat;
}

/* Bereichsüberschriften: kleiner und Wattzeit-Blau */
.section-head h2{color:#004077}
@media(min-width:801px){.section-head h2{font-size:28px;font-weight:600}}
@media(max-width:520px){.section-head h2{font-size:22px;font-weight:600}}

/* Ergebnisarchiv: Wattzeit-Blau für Jahre und Veranstaltungsnamen */
.result-year summary,
.result-name{
  color:#004077;
}

/* Aktuelle Veranstaltungen: Hintergrundmotiv dezent durchscheinen lassen */
.event-card{
  background:rgba(255,255,255,.93);
}

/* Mobile Navigation und kompakter Seitenabschluss */
.footer-imprint p{margin:0 0 8px}.footer-imprint a{display:inline}
@media(max-width:800px){
  .site-header{position:sticky}
  .header-row{height:auto;min-height:0;padding:10px 0 11px;display:flex;flex-direction:column;justify-content:center;gap:8px}
  .brand{width:100%;justify-content:center}
  .brand img{width:min(92vw,390px);max-width:100%;max-height:68px}
  .menu-button{display:none!important}
  .main-nav{position:static;display:grid!important;grid-template-columns:repeat(3,1fr);width:100%;gap:6px;padding:0;background:transparent;border:0;align-items:stretch}
  .main-nav a{display:flex;align-items:center;justify-content:center;min-width:0;padding:7px 5px;border-radius:6px;background:#004077;color:#fff;font-size:12px;font-weight:700;line-height:1.15;text-align:center}
  .main-nav a:hover{background:#002f59;color:#fff}

  .notice-section{padding:38px 0 34px}
  .notice-grid{gap:12px}
  .notice-grid h2{color:#004077;font-size:22px;font-weight:600;line-height:1.08;letter-spacing:-.025em}
  .notice-grid>p{font-size:14px;line-height:1.45}

  .site-footer{padding:32px 0}
  .footer-grid{display:block}
  .footer-grid>div{margin-bottom:24px}
  .footer-grid>div:last-child{margin-bottom:0}
  .site-footer strong{font-size:16px;color:#fff;margin-bottom:7px}
  .site-footer p,.site-footer a{font-size:13px;line-height:1.45}
}

/* Mobile Feinschliff II: mehr Luft unter Logo, proportionale Navigation, transparentere Karten */
@media(max-width:800px){
  .header-row{gap:0}
  .brand{margin-bottom:1.45em}
  .main-nav{display:flex!important;gap:6px}
  .main-nav a{width:auto;min-width:0;padding-left:10px;padding-right:10px;white-space:nowrap}
  .main-nav a:nth-child(1){flex:1.35 1 0}
  .main-nav a:nth-child(2){flex:1.05 1 0}
  .main-nav a:nth-child(3){flex:.75 1 0}
  .event-card{background:rgba(255,255,255,.86)}
}

/* Mobile Feinschliff III: Navigation garantiert einzeilig, Karten stärker transparent */
@media(max-width:800px){
  .main-nav{
    display:grid!important;
    grid-template-columns:minmax(0,44fr) minmax(0,33fr) minmax(0,23fr);
    gap:6px;
    width:100%;
  }
  .main-nav a{
    width:100%;
    min-width:0;
    padding-left:4px;
    padding-right:4px;
    white-space:nowrap;
    overflow:hidden;
    flex:none;
  }
  .event-card{background:rgba(255,255,255,.78)}
}

/* Mobile Feinschliff IV: mehr Abstand, transparenter, kompakteres Ergebnisarchiv */
@media(max-width:800px){
  .brand{margin-bottom:1.8em}
  .event-card{background:rgba(255,255,255,.70)}

  .result-year{margin-bottom:7px;border-radius:8px}
  .result-year summary{padding:10px 14px;font-size:17px;line-height:1.15}
  .result-year summary:after{font-size:21px;line-height:1}
  .result-list{padding:1px 14px 5px}
  .result-row{gap:1px;padding:7px 0;line-height:1.25}
  .result-date{font-size:12px;line-height:1.25}
  .result-name{font-size:14px;line-height:1.25}
  .result-link{font-size:12px;line-height:1.25;margin-top:2px}
}

/* Mobile Feinschliff 5: Ergebniszeilen wieder mit etwas mehr vertikalem Innenabstand */
@media(max-width:520px){
  .result-row{padding:10px 0}
}


/* Desktop Feinschliff 6 – ausschließlich Desktop */
@media (min-width:1001px){
  .event-grid{gap:24px} /* bisher 22px */
}
@media (min-width:801px){
  .notice-grid h2{
    color:#004077;
    font-size:22px;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-.025em;
  }
  .notice-grid>p{
    font-size:15px;
    line-height:1.5;
  }
}

/* Race Result direkt in der jeweiligen Veranstaltungskachel – alle Ansichten. */
.event-card .registration-panel{min-width:0;max-width:100%;overflow-x:auto;color:rgba(0,0,0,.9);font-family:inherit;font-size:13px;line-height:1.4}
.event-card .registration-panel .RRPublish,
.event-card .registration-panel .RRTextContent,
.event-card .registration-panel .RRRegStart{width:100%;max-width:100%;font-family:inherit;font-size:13px;color:rgba(0,0,0,.9)}
.event-card .registration-panel :is(h1,h2,h3,h4){color:#004077;font-family:inherit;line-height:1.25}
.event-card .registration-panel :is(a,a:visited){color:#004077}
.event-card .registration-panel :is(input,select,textarea,button){font-family:inherit;font-size:13px;max-width:100%}
.event-card .registration-panel :is(table){font-size:12px;max-width:100%}
.event-card .registration-panel :is(th,td){padding:5px 4px}
.event-card .registration-panel :is(button,input[type="submit"]){border-radius:5px}

/* Desktop: Race-Result-Einbindung über volle Rasterbreite mit Wattzeit-Rahmen */
@media(min-width:801px){
  .event-grid > .desktop-registration{
    grid-column:1/-1;
    width:100%;
    min-width:0;
    padding:24px;
    border:1px solid #004077;
    border-radius:var(--radius);
    background:rgba(255,255,255,.93);
    box-shadow:none;
  }
  .desktop-registration .registration-panel{
    width:100%;
    max-width:100%;
    margin:0;
    padding:0;
    border:0;
    overflow-x:auto;
    color:rgba(0,0,0,.9);
    font-family:inherit;
    font-size:13px;
    line-height:1.4;
  }
  .desktop-registration .registration-panel :is(.RRPublish,.RRTextContent,.RRRegStart){
    width:100%;
    max-width:100%;
    font-family:inherit;
    font-size:13px;
    color:rgba(0,0,0,.9);
  }
  .desktop-registration .registration-panel :is(h1,h2,h3,h4){color:#004077;font-family:inherit}
  .desktop-registration .registration-panel a{color:#004077}
  .desktop-registration .registration-panel :is(table,th,td){font-size:13px}
  .desktop-registration .registration-panel :is(input,select,textarea,button){font-family:inherit;font-size:13px}
}

/* Race Result: nur die Kachelüberschriften und den Einstieg "Ergebnisliste"
   anpassen; eigentliche Tabellen-/Listeninhalte bleiben unverändert. */
@media(min-width:801px){
  .desktop-registration .RRPublish :is(.card-header,.panel-heading,.accordion-header,.rr-card-header){
    font-size:16px!important;
    line-height:1.35;
  }
  .desktop-registration .RRPublish :is(.card-body,.panel-body) > :is(a,.list-group,.list-group-item),
  .desktop-registration .RRPublish .list-group-item{
    font-size:16px!important;
    line-height:1.4;
  }
}
@media(max-width:800px){
  .event-card .RRPublish :is(.card-header,.panel-heading,.accordion-header,.rr-card-header){
    font-size:12px!important;
    line-height:1.3;
  }
  .event-card .RRPublish :is(.card-body,.panel-body) > :is(a,.list-group,.list-group-item),
  .event-card .RRPublish .list-group-item{
    font-size:12px!important;
    line-height:1.35;
  }
}
