/* ============================================================
   Ruderclub Möve 1919 e.V. — brand theme for Cassiopeia (J6)
   Interim look-alike of the former YOOtheme design.
   Palette from the original: red #d2232a, blue #0167b3, ink #272424.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Amiko:wght@400;600;700&display=swap');

:root {
  --moeve-red:  #d2232a;
  --moeve-red-dark: #b01d23;
  --moeve-blue: #0167b3;
  --moeve-ink:  #272424;
  --moeve-grey: #6e6e70;
  --moeve-line: #e5e5e5;
  /* nudge Cassiopeia's own tokens toward the brand where they exist */
  --cassiopeia-color-primary: #d2232a;
  --cassiopeia-color-link: #0167b3;
  --cassiopeia-color-hover: #d2232a;
}

body,
.site {
  font-family: 'Amiko', -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--moeve-ink);
}

/* --- Headings in brand red, like the original --- */
h1, h2, h3,
.page-header h1,
.article-header h1,
.com-content-article__title,
.item-page h2 {
  color: var(--moeve-red);
  font-weight: 700;
  letter-spacing: .2px;
}
h4, h5, h6 { color: var(--moeve-ink); font-weight: 600; }

/* --- Links --- */
a { color: var(--moeve-blue); text-decoration: none; }
a:hover, a:focus { color: var(--moeve-red); }

/* --- Header band: clean white with room for the logo --- */
.container-header,
.grid-child.container-header,
header.header {
  background: #ffffff;
  border-bottom: 3px solid var(--moeve-red);
}
.navbar { background: #ffffff !important; }
.navbar-brand img,
.logo img { max-height: 96px; width: auto; }

/* --- Main menu --- */
.navbar-nav .nav-link,
.mod-menu .nav-link,
ul.mod-menu > li > a {
  color: var(--moeve-ink) !important;
  font-weight: 600;
  text-transform: none;
  font-size: 1.02rem;
}
.navbar-nav .nav-link:hover,
.navbar-nav .current > .nav-link,
.navbar-nav .active > .nav-link,
.mod-menu .current > .nav-link,
ul.mod-menu > li.current > a,
ul.mod-menu > li:hover > a {
  color: var(--moeve-red) !important;
}
/* dropdown submenus */
.mod-menu__sub { border-top: 3px solid var(--moeve-red); }

/* --- Utility / top bar (search + social) --- */
.container-topbar,
.grid-child.container-top,
.container-top-a {
  background: var(--moeve-grey);
  color: #fff;
}
.container-topbar a, .container-top-a a { color: #fff; }

/* --- Buttons --- */
.btn-primary {
  background-color: var(--moeve-red);
  border-color: var(--moeve-red);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--moeve-red-dark);
  border-color: var(--moeve-red-dark);
}
.btn-outline-primary { color: var(--moeve-red); border-color: var(--moeve-red); }
.btn-outline-primary:hover { background: var(--moeve-red); border-color: var(--moeve-red); }

/* --- Module titles get a subtle red underline like section headers --- */
.moduletable > h3,
.moduletable > .card-header,
.module-title {
  color: var(--moeve-red);
  border-bottom: 2px solid var(--moeve-line);
  padding-bottom: .35rem;
  margin-bottom: 1rem;
}

/* --- Content cards --- */
.card { border-color: var(--moeve-line); }

/* --- Footer --- */
.container-footer,
footer.footer {
  background: var(--moeve-ink);
  color: #e7e7e8;
}
.container-footer a, footer.footer a { color: #e7e7e8; }
.container-footer a:hover { color: #fff; }

/* --- Focus/selection --- */
::selection { background: var(--moeve-red); color: #fff; }

/* ============================================================
   HOME — cinematic hero slideshow + welcome + feature cards
   ============================================================ */
.rcm-hero{
  position:relative; width:100vw; margin-inline:calc(50% - 50vw);
  height:clamp(380px,64vh,660px); overflow:hidden; background:#0d2036;
}
.rcm-hero__slide{
  position:absolute; inset:0; background-size:cover; background-position:center 42%;
  opacity:0; will-change:opacity,transform; animation:rcmHeroKen 24s ease-in-out infinite;
}
.rcm-hero__slide:nth-child(1){animation-delay:0s}
.rcm-hero__slide:nth-child(2){animation-delay:8s}
.rcm-hero__slide:nth-child(3){animation-delay:16s}
@keyframes rcmHeroKen{
  0%{opacity:0;transform:scale(1.04)} 4%{opacity:1} 30%{opacity:1}
  37%{opacity:0;transform:scale(1.13)} 100%{opacity:0;transform:scale(1.13)}
}
.rcm-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,22,42,.32) 0%,rgba(6,22,42,.08) 45%,rgba(6,22,42,.80) 100%);
}
.rcm-hero__inner{
  position:relative;z-index:2;height:100%;max-width:1180px;margin:0 auto;
  padding:0 clamp(20px,5vw,56px) clamp(30px,7vh,70px);
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.5);
  animation:rcmHeroIn 1.2s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes rcmHeroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.rcm-hero__eyebrow{margin:0 0 .6rem;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6rem}
.rcm-hero__eyebrow::before{content:"";width:34px;height:3px;background:var(--moeve-red)}
.rcm-hero__title{margin:0;color:#fff;font-weight:700;line-height:1;font-size:clamp(2.4rem,6.4vw,4.6rem);letter-spacing:-.01em}
.rcm-hero__sub{margin:.8rem 0 1.6rem;color:#fff;opacity:.96;font-size:clamp(1.02rem,2vw,1.35rem);max-width:44ch;line-height:1.4}
.rcm-hero__cta{display:inline-block;background:var(--moeve-red);color:#fff!important;padding:.85rem 1.8rem;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 10px 26px rgba(210,35,42,.45);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.rcm-hero__cta:hover,.rcm-hero__cta:focus{background:var(--moeve-red-dark);color:#fff!important;transform:translateY(-2px);box-shadow:0 14px 30px rgba(210,35,42,.5)}
@media (max-width:600px){.rcm-hero{height:70vh}.rcm-hero__sub{display:none}}
@media (prefers-reduced-motion:reduce){.rcm-hero__slide{animation:none}.rcm-hero__slide:nth-child(1){opacity:1;transform:none}.rcm-hero__inner{animation:none}}

.rcm-welcome{max-width:820px;margin:2.6rem auto 1.2rem;text-align:center}
.rcm-welcome h2{color:var(--moeve-red);font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 .6rem}
.rcm-welcome p{font-size:1.08rem;line-height:1.6;color:var(--moeve-ink);margin:0 auto}
.rcm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;margin:2rem 0 1rem}
.rcm-card{display:block;text-decoration:none;color:inherit;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(13,32,54,.10);border:1px solid var(--moeve-line);transition:transform .18s ease,box-shadow .18s ease}
.rcm-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(13,32,54,.18)}
.rcm-card__img{height:172px;background-size:cover;background-position:center}
.rcm-card__body{padding:1.1rem 1.2rem 1.3rem}
.rcm-card__body h3{margin:0 0 .35rem;color:var(--moeve-red);font-size:1.2rem}
.rcm-card__body p{margin:0;color:var(--moeve-ink);font-size:.96rem;line-height:1.45}
.rcm-card__more{display:inline-block;margin-top:.6rem;color:var(--moeve-blue);font-weight:600;font-size:.9rem}
.rcm-card:hover .rcm-card__more{color:var(--moeve-red)}

/* --- Wasserstand live widget (Pegel Krotzenburg) --- */
.rcm-pegel{text-align:center;padding:.3rem 0 .1rem}
.rcm-pegel__label{font-size:.8rem;color:var(--moeve-grey);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.rcm-pegel__value{font-size:2.5rem;font-weight:800;line-height:1.05;color:var(--moeve-blue);margin:.15rem 0}
.rcm-pegel__value span{font-size:1rem;font-weight:600;color:var(--moeve-grey)}
.rcm-pegel--warn .rcm-pegel__value{color:var(--moeve-red)}
.rcm-pegel__status{font-weight:700;font-size:.98rem;margin:.15rem 0 .35rem}
.rcm-pegel--ok .rcm-pegel__status{color:#1a7a3a}
.rcm-pegel--warn .rcm-pegel__status{color:var(--moeve-red)}
.rcm-pegel__time{font-size:.78rem;color:var(--moeve-grey)}
.rcm-pegel__link{display:inline-block;margin-top:.5rem;font-size:.88rem;font-weight:600}
.rcm-pegel__src{font-size:.68rem;color:#b2b2b2;margin-top:.4rem}

/* --- Site footer (Rechtliches: Impressum / Datenschutz / Kontakt) --- */
.rcm-footer{max-width:1180px;margin:0 auto;padding:.5rem 0}
.rcm-footer__cols{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
.rcm-footer__brand{display:flex;flex-direction:column;gap:.15rem}
.rcm-footer__name{font-weight:700;color:#fff;font-size:1.05rem}
.rcm-footer__tag{color:#b9b9bb;font-size:.9rem}
.rcm-footer__nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.rcm-footer__nav a{color:#e7e7e8 !important;font-weight:600;font-size:.95rem}
.rcm-footer__nav a:hover,.rcm-footer__nav a:focus{color:#fff !important;text-decoration:underline}
.rcm-footer__copy{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.14);color:#9a9a9c;font-size:.82rem;text-align:center}
@media (max-width:600px){.rcm-footer__cols{flex-direction:column;align-items:flex-start;text-align:left}}
