
/*
Theme Name: Roßweiner SV Modern Premium 3.1.6
Version: 3.1.6
Text Domain: rossweiner-sv
*/
:root{--rsv-blue:#0B3D91;--rsv-blue-dark:#062250;--rsv-blue-mid:#1d5fd1;--rsv-bg:#f8fafc;--rsv-border:#dbe4f0;--rsv-text:#0f172a;--rsv-muted:#475569;--rsv-shadow:0 16px 40px rgba(6,34,80,.12);--rsv-radius:28px;--rsv-container:1240px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--rsv-text);line-height:1.6;background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}
.rsv-container{width:min(var(--rsv-container),calc(100% - 32px));margin:0 auto}
.site-topbar{background:var(--rsv-blue-dark);color:#fff;font-size:14px}.site-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0}.site-topbar__links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.social-icon{width:60px;height:60px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--rsv-blue);box-shadow:0 10px 20px rgba(0,0,0,.14)}.social-icon svg{width:30px;height:30px;display:block}
.site-header{position:sticky;top:0;z-index:50;background:var(--rsv-blue);color:#fff;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px rgba(6,34,80,.12)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.site-branding{display:flex;align-items:center;gap:18px}.site-branding__text{display:flex;flex-direction:column}.site-title{margin:0;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.1}.site-title a{color:#fff}.site-tagline{margin-top:4px;color:#cfe0ff;font-size:14px;font-weight:600}
.site-branding__logo{width:80px;height:80px;flex:0 0 80px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.16)}.site-branding__logo img,.site-branding__logo .custom-logo{width:80px!important;height:80px!important;object-fit:contain}.site-branding__logo--placeholder{font-size:12px;font-weight:800;color:var(--rsv-blue);text-transform:uppercase;text-align:center;padding:8px}
.menu-toggle{display:none;background:#fff;color:var(--rsv-blue);border:0;border-radius:14px;font-weight:700;padding:12px 14px;cursor:pointer}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0;text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.06em}.primary-nav a{color:#fff}

.slider-widget{padding:24px 0 8px}.slider{position:relative;height:260px;border-radius:32px;overflow:hidden;box-shadow:var(--rsv-shadow);background:#eff6ff}.slider__slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}.slider__slide.is-active{opacity:1}.slider__slide img{width:100%;height:100%;object-fit:cover}.slider__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:var(--rsv-blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.slider__nav{position:absolute;inset:auto 16px 16px auto;display:flex;gap:8px;z-index:3}.slider__dot{width:12px;height:12px;border-radius:999px;border:0;background:rgba(255,255,255,.55);cursor:pointer}.slider__dot.is-active{background:#fff}

.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,var(--rsv-blue-dark) 0%,var(--rsv-blue) 50%,var(--rsv-blue-mid) 100%)}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:90px 90px;opacity:.22}
.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:stretch;padding:84px 0}.hero__left{display:flex;flex-direction:column;justify-content:space-between;min-height:100%}
.hero__eyebrow{display:inline-block;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.12);color:#dbeafe;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.13em}
.hero__title{margin:14px 0 0;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.04;text-transform:uppercase;font-weight:900}.hero__title span{display:block;color:#dbeafe;font-size:clamp(1rem,1.8vw,1.45rem);margin-top:6px}
.hero__text{margin:18px 0 0;max-width:620px;color:#eff6ff;font-size:15px}
.hero__actions,.sponsor-hero-card__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:14px 22px;font-weight:800;border:1px solid transparent}.button--light{background:#fff;color:var(--rsv-blue);box-shadow:0 10px 22px rgba(0,0,0,.12)}.button--outline{color:#fff;border-color:rgba(255,255,255,.65);background:transparent}.button--ghost{border-color:var(--rsv-blue);color:var(--rsv-blue);background:#fff}
.sponsor-hero-card,.hero-intro-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border-radius:32px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.18);min-height:100%}
.section-kicker,.section-subtitle{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:800}.section-kicker--light{color:#cfe0ff}.sponsor-hero-card h2{margin:10px 0 0;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.08;text-transform:uppercase;font-weight:900}.sponsor-hero-card p,.hero-intro-card p{margin:16px 0 0;color:#eff6ff;font-size:15px}
.sponsor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.sponsor-grid__item{display:flex;align-items:center;justify-content:center;min-height:120px;padding:10px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.11);overflow:hidden}.sponsor-grid__item img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:14px;background:rgba(255,255,255,.9);padding:6px}.sponsor-grid__placeholder{font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:center;color:#fff;opacity:.9}
.ticker-bar{background:var(--rsv-blue);color:#fff;padding:18px 0}.ticker-bar__inner{display:flex;flex-wrap:wrap;gap:16px;align-items:center;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800}.ticker-dot{color:#93c5fd}
.section{padding:56px 0}.section--alt{background:var(--rsv-bg)}.card{background:#fff;border:1px solid var(--rsv-border);border-radius:var(--rsv-radius);box-shadow:var(--rsv-shadow);padding:28px}.card--compact{padding:22px}.section-title{margin:0;font-size:clamp(1.8rem,2.2vw,2.5rem);line-height:1.15;color:var(--rsv-blue-dark);font-weight:900}.section-subtitle{margin:0 0 10px;color:var(--rsv-blue)}
.module-embed{padding:18px;border-radius:22px;background:#f8fbff}.module-embed a.fupa_link{display:inline-block;margin-top:16px;color:var(--rsv-blue);font-weight:800}.fupa-shop-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:start}.shop-wrap{display:flex;justify-content:center;background:#f8fbff;border-radius:22px;padding:18px}.shop-wrap img{border-radius:18px;box-shadow:0 14px 36px rgba(6,34,80,.16);max-height:520px;width:auto}
.sponsor-section__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.sponsor-section__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sponsor-box{display:flex;align-items:center;justify-content:center;min-height:92px;border:1px solid #dbeafe;background:#eff6ff;color:var(--rsv-blue);padding:8px;border-radius:22px;box-shadow:0 12px 26px rgba(11,61,145,.08);overflow:hidden}.sponsor-box img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:14px;background:#fff;padding:6px}.sponsor-box__placeholder{font-weight:900;text-transform:uppercase;text-align:center;font-size:12px}.sponsor-help{margin-top:14px;color:#475569;font-size:14px}
.site-footer{background:var(--rsv-blue-dark);color:#fff;margin-top:20px}.site-footer__inner{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px;padding:48px 0}.footer-title{color:#93c5fd;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:800;margin:0 0 12px}.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:#eff6ff;font-size:15px}.footer-brand{font-size:1.5rem;line-height:1.1;font-weight:900;text-transform:uppercase;margin:0}.footer-brand-sub{color:#bfdbfe;margin-top:8px;font-weight:700}.footer-copy{border-top:1px solid rgba(255,255,255,.12);color:#cfe0ff;font-size:14px;padding:16px 0 22px}
@media (max-width:1080px){.hero__inner,.site-footer__inner,.fupa-shop-grid,.sponsor-section__grid{grid-template-columns:1fr 1fr}.site-footer__inner{grid-template-columns:1fr 1fr}.slider{height:220px}}
@media (max-width:820px){.menu-toggle{display:inline-flex}.primary-nav{position:absolute;top:100%;left:0;right:0;background:var(--rsv-blue-dark);padding:0 16px 16px;display:none;border-bottom:1px solid rgba(255,255,255,.12)}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start;gap:0}.primary-nav li{width:100%}.primary-nav a{display:block;width:100%;padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}.site-topbar__inner,.site-header__inner,.sponsor-section__head{align-items:flex-start;flex-direction:column}.hero__inner,.site-footer__inner,.fupa-shop-grid,.sponsor-section__grid{grid-template-columns:1fr}.slider{height:190px}}
@media (max-width:560px){.sponsor-grid{grid-template-columns:1fr}.button{width:100%}.hero__actions,.sponsor-hero-card__actions{flex-direction:column}.rsv-container{width:min(var(--rsv-container),calc(100% - 20px))}.site-branding{align-items:flex-start}.social-icon{width:52px;height:52px}.slider{height:150px}}


/* Sponsors page */
.sponsors-page-hero{
  background:linear-gradient(90deg,var(--rsv-blue-dark) 0%,var(--rsv-blue) 55%,var(--rsv-blue-mid) 100%);
  color:#fff;
  padding:56px 0;
}
.sponsors-page-hero__inner{
  display:grid;
  gap:18px;
}
.sponsors-page-hero h1{
  margin:0;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.05;
  text-transform:uppercase;
}
.sponsors-page-hero p{
  margin:0;
  max-width:860px;
  color:#e5edff;
}
.sponsors-page-content{
  padding:42px 0 60px;
}
.sponsors-page-note{
  margin-bottom:22px;
  color:var(--rsv-muted);
}
.sponsors-page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.sponsors-page-grid .sponsor-box{
  min-height:140px;
}
@media (max-width:820px){
  .sponsors-page-grid{grid-template-columns:1fr}
}

/* Equal height widgets */
.fupa-shop-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:22px;
  align-items:stretch;
}

.fupa-shop-grid .card {
  display:flex;
  flex-direction:column;
  height:100%;
}

.module-embed,
.shop-wrap {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

#instagram .module-embed {
  height:100%;
}

/* Sponsors page 2 per row fix */
.sponsors-page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px;
}

@media (max-width:700px){
  .sponsors-page-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== Modern Premium Refresh ===== */
:root{
  --premium-bg:#07162f;
  --premium-card:#ffffff;
  --premium-line:rgba(255,255,255,.14);
  --premium-overlay:rgba(6,20,44,.62);
  --premium-shadow:0 24px 60px rgba(5,18,43,.18);
  --premium-radius:32px;
  --premium-radius-sm:22px;
}
body{
  background:linear-gradient(180deg,#f7faff 0%,#eef4ff 100%);
}
.site-topbar{
  background:linear-gradient(90deg,#03132d 0%, #07214b 100%);
}
.site-header{
  background:rgba(11,61,145,.88);
  backdrop-filter:blur(12px);
}
.site-header__inner{
  padding:14px 0;
}
.site-branding__logo,
.social-icon{
  box-shadow:0 12px 28px rgba(2,16,42,.2);
}
.slider-widget{
  padding:28px 0 0;
}
.slider{
  height:320px;
  border-radius:36px;
  box-shadow:0 30px 80px rgba(7,22,47,.22);
}
.slider::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}
.hero{
  margin-top:26px;
  background:transparent;
}
.hero::before{
  display:none;
}
.hero__inner{
  grid-template-columns:1.02fr .98fr;
  gap:26px;
  padding:0;
}
.hero-intro-card,
.sponsor-hero-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(92,149,255,.28), transparent 30%),
    linear-gradient(135deg, #08204b 0%, #0b3d91 52%, #1c63df 100%);
  box-shadow:0 30px 80px rgba(7,22,47,.2);
  min-height:430px;
}
.hero-intro-card::before,
.sponsor-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.22;
  pointer-events:none;
}
.hero-intro-card > *,
.sponsor-hero-card > *{
  position:relative;
  z-index:1;
}
.hero__eyebrow{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
}
.hero__title{
  font-size:clamp(2.15rem,4vw,3.7rem);
  letter-spacing:.01em;
}
.hero__title span{
  font-size:clamp(1.05rem,1.8vw,1.55rem);
  color:#dce8ff;
}
.hero__text{
  font-size:1rem;
  max-width:700px;
  color:#edf3ff;
}
.button{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover{
  transform:translateY(-2px);
}
.button--light{
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
.ticker-bar{
  margin-top:24px;
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--premium-shadow);
}
.section{
  padding:64px 0;
}
.section--alt{
  background:transparent;
}
.card{
  border:1px solid rgba(13,66,150,.08);
  border-radius:30px;
  box-shadow:0 18px 48px rgba(11,61,145,.1);
}
.card:hover{
  box-shadow:0 24px 56px rgba(11,61,145,.14);
}
.fupa-shop-grid{
  gap:24px;
}
.fupa-shop-grid .card{
  min-height:100%;
}
.module-embed,
.shop-wrap{
  border-radius:24px;
  background:linear-gradient(180deg,#f8fbff 0%, #edf4ff 100%);
}
#instagram .module-embed,
#fanshop .shop-wrap,
.fupa-shop-grid .module-embed{
  min-height:355px;
}
.section-subtitle{
  letter-spacing:.16em;
}
.section-title{
  font-size:clamp(2rem,3vw,2.7rem);
}
.sponsor-section__head{
  margin-bottom:28px;
}
.sponsor-section__grid{
  gap:16px;
}
.sponsor-box{
  min-height:95px;
  border:1px solid rgba(11,61,145,.09);
  background:linear-gradient(180deg,#ffffff 0%, #f4f8ff 100%);
  box-shadow:0 14px 30px rgba(11,61,145,.08);
  transition:transform .18s ease, box-shadow .18s ease;
}
.sponsor-box:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(11,61,145,.12);
}
.sponsor-box img,
.sponsor-grid__item img{
  object-fit:contain;
}
.site-footer{
  margin-top:36px;
  background:linear-gradient(90deg,#03132d 0%, #07214b 100%);
}
@media (max-width:1080px){
  .slider{height:280px;}
}
@media (max-width:820px){
  .hero__inner{
    grid-template-columns:1fr;
  }
  .hero-intro-card,
  .sponsor-hero-card{
    min-height:auto;
  }
  .slider{
    height:220px;
  }
}
@media (max-width:560px){
  .slider{
    height:170px;
    border-radius:26px;
  }
  .hero-intro-card,
  .sponsor-hero-card,
  .card{
    border-radius:24px;
  }
}


/* ===== Widget sizing fix: FuPa + Instagram ===== */
.fupa-shop-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:24px;
  align-items:stretch;
}
.fupa-shop-grid .card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.fupa-shop-grid .card > .section-subtitle{
  flex:0 0 auto;
}
.fupa-shop-grid .module-embed,
.fupa-shop-grid .shop-wrap{
  flex:1 1 auto;
  min-height:355px;
  height:355px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
#instagram .module-embed{
  padding:14px;
}
#instagram .module-embed > *{
  width:100%;
}
#instagram iframe,
#instagram .qligg,
#instagram .insta-gallery,
#instagram .ig-feed,
#instagram .sb_instagram{
  width:100% !important;
  max-width:100% !important;
}
#fupa_livebox{
  width:100%;
  max-width:100%;
  overflow:auto;
}
.shop-wrap img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
@media (max-width:1080px){
  .fupa-shop-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:820px){
  .fupa-shop-grid{
    grid-template-columns:1fr;
  }
  .fupa-shop-grid .module-embed,
  .fupa-shop-grid .shop-wrap{
    height:auto;
    min-height:300px;
  }
}

/* ===== Pro Upgrade ===== */
.news-section__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.news-grid-pro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.news-card-pro{background:linear-gradient(180deg,#ffffff 0%, #f7faff 100%);border:1px solid rgba(11,61,145,.08);border-radius:28px;box-shadow:0 18px 44px rgba(11,61,145,.08);overflow:hidden;transition:transform .18s ease, box-shadow .18s ease}
.news-card-pro:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(11,61,145,.13)}
.news-card-pro__image{display:block;aspect-ratio:16/9;background:#eaf1ff}
.news-card-pro__image img{width:100%;height:100%;object-fit:cover}
.news-card-pro__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#dbeafe 0%, #bfdbfe 100%)}
.news-card-pro__body{padding:20px 22px 22px}
.news-card-pro__meta{color:var(--rsv-muted);font-size:14px;margin-bottom:10px}
.news-card-pro h3{margin:0;font-size:1.35rem;line-height:1.2;color:var(--rsv-blue-dark)}
.news-card-pro h3 a{color:inherit}
.news-card-pro p{color:var(--rsv-muted);margin:14px 0 0}
.matchday-card,.cta-card{position:relative;overflow:hidden;border-radius:32px;box-shadow:0 24px 60px rgba(5,18,43,.16)}
.matchday-card{display:grid;grid-template-columns:1.2fr .8fr;background:radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);color:#fff}
.matchday-card__content{padding:34px}
.matchday-meta{color:#dce8ff;font-weight:700;letter-spacing:.04em;margin-top:6px}
.matchday-text{color:#eef4ff;max-width:760px;margin:14px 0 0}
.matchday-card__side{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.14)}
.matchday-badge{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:170px;height:170px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:900;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(8px)}
.matchday-pulse{position:absolute;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(255,255,255,.16) 0%, transparent 70%);animation:rsvPulse 3s ease-in-out infinite}
.cta-card{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:34px;background:radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 26%),linear-gradient(135deg,#04132d 0%, #072a63 44%, #0b3d91 100%);color:#fff}
.cta-card p{color:#e7efff;margin:14px 0 0;max-width:760px}
.cta-card__actions{display:flex;gap:14px;flex-wrap:wrap}
.widgets-section .card:hover,.matchday-card:hover,.cta-card:hover{transform:translateY(-2px)}
.reveal{animation:rsvReveal .55s ease both}
.reveal:nth-child(2){animation-delay:.06s}.reveal:nth-child(3){animation-delay:.12s}.reveal:nth-child(4){animation-delay:.18s}
@keyframes rsvReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes rsvPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.86}}
@media (max-width:1080px){.news-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}.matchday-card{grid-template-columns:1fr}.matchday-card__side{min-height:220px;border-left:0;border-top:1px solid rgba(255,255,255,.14)}}
@media (max-width:820px){.news-section__head,.cta-card{flex-direction:column;align-items:flex-start}.news-grid-pro{grid-template-columns:1fr}}


/* ===== Pro Upgrade V2: highlighted headers + stronger news separation ===== */
.matchday-card .section-subtitle,
.news-section .section-subtitle,
.cta-card .section-subtitle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffffff 0%, #eaf2ff 100%);
  color:#0b3d91;
  box-shadow:0 10px 24px rgba(255,255,255,.14);
}
.matchday-card .section-subtitle::before,
.news-section .section-subtitle::before,
.cta-card .section-subtitle::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#1c63df;
  box-shadow:0 0 0 5px rgba(28,99,223,.14);
}
.news-card-pro{
  border:1px solid rgba(11,61,145,.1);
}
.news-card-pro__body{
  position:relative;
}
.news-card-pro__body::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:1px;
  background:linear-gradient(90deg,rgba(11,61,145,.12) 0%, rgba(11,61,145,.03) 100%);
}
.news-card-pro__meta{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#0b3d91;
  font-weight:700;
  margin-bottom:14px;
}
.news-card-pro h3{
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(11,61,145,.08);
}
.news-card-pro p{
  min-height:72px;
}

/* ===== Pro Upgrade V3: stronger premium module styling ===== */
.matchday-card,
.news-section__head,
.cta-card{
  position:relative;
}
.matchday-card,
.cta-card{
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg, #08204b 0%, #0b3d91 52%, #1c63df 100%);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.news-section__head{
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg, #08204b 0%, #0b3d91 52%, #1c63df 100%);
  border-radius:32px;
  padding:24px 26px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.news-section__head .section-subtitle,
.news-section__head .section-title{
  color:#fff;
}
.news-section__head .button--ghost{
  background:#fff;
  color:var(--rsv-blue);
  border-color:transparent;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.matchday-card::before,
.cta-card::before,
.news-section__head::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:46px 46px;
  opacity:.22;
  pointer-events:none;
  border-radius:inherit;
}
.matchday-card > *,
.cta-card > *,
.news-section__head > *{
  position:relative;
  z-index:1;
}
.matchday-card .section-subtitle,
.news-section .section-subtitle,
.cta-card .section-subtitle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#dbeafe;
  box-shadow:none;
}
.matchday-card .section-subtitle::before,
.news-section .section-subtitle::before,
.cta-card .section-subtitle::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 0 5px rgba(255,255,255,.12);
}
.news-section{
  padding-top:30px;
}
.news-grid-pro{
  margin-top:26px;
}
.news-card-pro{
  border:1px solid rgba(11,61,145,.1);
  background:#fff;
}
.news-card-pro__body::before{
  top:0;
}
.news-card-pro h3{
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(11,61,145,.1);
}
.news-card-pro p{
  min-height:88px;
}
@media (max-width:820px){
  .news-section__head{
    padding:20px;
  }
}

/* ===== Pro Upgrade V4: sponsor visibility, FuPa sizing, hero news teaser ===== */
#fupa .module-embed{
  padding:12px;
  min-height:355px;
  height:auto;
  overflow:visible;
  align-items:flex-start;
  justify-content:flex-start;
}
#fupa #fupa_livebox{
  width:100%;
  min-height:300px;
  overflow:auto;
}
#fupa iframe,
#fupa table,
#fupa div{
  max-width:100%;
}
#instagram .module-embed{
  min-height:355px;
}
.hero-news-teaser{
  margin-top:22px;
  padding:18px 18px 16px;
  border-radius:24px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
  max-width:620px;
}
.hero-news-teaser__kicker{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  color:#dbeafe;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-news-teaser__date{
  margin-top:10px;
  color:#dbeafe;
  font-size:13px;
  font-weight:700;
}
.hero-news-teaser h3{
  margin:10px 0 0;
  font-size:1.25rem;
  line-height:1.2;
}
.hero-news-teaser h3 a{
  color:#fff;
}
.hero-news-teaser p{
  margin:10px 0 0;
  color:#eef4ff;
  font-size:15px;
}
.hero-news-teaser__link{
  display:inline-block;
  margin-top:12px;
  color:#fff;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}
@media (max-width:820px){
  #fupa .module-embed,
  #instagram .module-embed{
    min-height:300px;
  }
}

/* ===== Pro Upgrade V5 ===== */
.hero-news-teaser{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:16px;
  align-items:stretch;
}
.hero-news-teaser__media{
  border-radius:18px;
  overflow:hidden;
  min-height:120px;
  background:rgba(255,255,255,.12);
}
.hero-news-teaser__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-news-teaser__placeholder{
  width:100%;
  height:100%;
  background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.08) 100%);
}
.hero-news-teaser__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-news-teaser__link{
  display:none;
}
#fupa .fupa_link{
  display:none !important;
}
@media (max-width:700px){
  .hero-news-teaser{
    grid-template-columns:1fr;
  }
  .hero-news-teaser__media{
    min-height:160px;
  }
}

/* ===== FuPa Widget CLEAN MINIMAL ===== */
#fupa .module-embed {
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    min-height: 355px;
    background: transparent !important;
}

#fupa #fupa_livebox {
    width: 115% !important;
    margin-left: -7.5% !important;
    min-height: 300px;
    overflow: hidden !important;
    background: transparent !important;
}

#fupa a,
#fupa_livebox a {
    display: none !important;
}

#fupa_livebox div:last-child {
    display: none !important;
}

#fupa_livebox table {
    width: 100% !important;
    font-size: 14px !important;
}

#fupa iframe,
#fupa_livebox iframe {
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
}

#fupa .module-embed > * {
    max-width: 100% !important;
}

@media (max-width: 820px) {
    #fupa #fupa_livebox {
        width: 122% !important;
        margin-left: -11% !important;
    }
}

/* ===== FuPa Widget CLEAN MINIMAL V2 ===== */
#fupa .module-embed{
  position: relative !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  min-height: 355px !important;
  height: 355px !important;
  background: #f8fbff !important;
}
#fupa #fupa_livebox{
  position: absolute !important;
  top: 72px !important;
  left: 18px !important;
  width: 290px !important;
  max-width: 290px !important;
  min-height: 220px !important;
  overflow: hidden !important;
  background: transparent !important;
  transform: none !important;
}
#fupa #fupa_livebox *,
#fupa #fupa_livebox table,
#fupa #fupa_livebox tbody,
#fupa #fupa_livebox tr,
#fupa #fupa_livebox td{
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#fupa #fupa_livebox a,
#fupa .fupa_link,
#fupa a[href*="fupa.net"]{
  display: none !important;
}
#fupa #fupa_livebox iframe{
  width: 420px !important;
  max-width: 420px !important;
  height: 260px !important;
  transform: translateX(-84px) scale(0.92) !important;
  transform-origin: top left !important;
  border: 0 !important;
}
#fupa .module-embed::after{
  content:"";
  position:absolute;
  top:72px;
  right:0;
  width:92px;
  height:260px;
  background:#f8fbff;
  pointer-events:none;
}
#fupa .module-embed::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:46px;
  background:#f8fbff;
  pointer-events:none;
}
@media (max-width: 820px){
  #fupa .module-embed{
    min-height: 320px !important;
    height: 320px !important;
  }
  #fupa #fupa_livebox{
    top: 58px !important;
    left: 10px !important;
    width: 275px !important;
    max-width: 275px !important;
  }
  #fupa #fupa_livebox iframe{
    transform: translateX(-95px) scale(0.86) !important;
  }
  #fupa .module-embed::after{
    top:58px;
    height:238px;
  }
}

/* ===== Pro Upgrade V8: Hover / Hyper Effects ===== */
a,
.button,
.wp-block-button__link,
.hero-news-teaser h3 a,
.hero-news-teaser__link,
.news-card__link,
.news-card-pro h3 a,
.site-topbar__links a,
.primary-nav a,
.footer-list a{
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

a:hover,
.hero-news-teaser h3 a:hover,
.news-card-pro h3 a:hover,
.primary-nav a:hover,
.footer-list a:hover,
.site-topbar__links a:hover{
  opacity:.88;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.button:hover,
.wp-block-button__link:hover{
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

.social-icon:hover{
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 16px 32px rgba(2,16,42,.24);
}

.sponsor-box:hover,
.news-card-pro:hover,
.card:hover{
  transform: translateY(-3px);
}

.hero-news-teaser:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0,0,0,.16);
}

/* Hero news headline emphasis */
.hero-news-teaser__title-strong{
  display:block;
  margin:0 0 12px;
  font-size:clamp(1.5rem,2.4vw,2rem);
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}

/* ===== Modern Premium 2.1 Premium Modules ===== */
.sponsor-box a,.sponsor-grid__item a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.sponsor-box a:hover img,.sponsor-grid__item a:hover img{transform:scale(1.05)}
.sponsor-box img,.sponsor-grid__item img{transition:transform .18s ease, filter .18s ease}
.premium-addon-section{padding-top:22px}
.premium-addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.premium-mini-card{position:relative;overflow:hidden;border-radius:32px;padding:28px;min-height:270px;background:radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.18)}
.premium-mini-card::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;opacity:.22;pointer-events:none}
.premium-mini-card>*{position:relative;z-index:1}
.premium-mini-card h2{margin:12px 0 0;font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.12}
.premium-mini-card p{color:#e8f0ff;margin:14px 0 0}
.countdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.countdown-grid div{border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:14px;text-align:center}
.countdown-grid strong{display:block;font-size:2rem;line-height:1}
.countdown-grid span{color:#dbeafe;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.premium-mini-card--player{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center}
.player-card__image{width:170px;height:210px;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.player-card__image img{width:100%;height:100%;object-fit:cover}
.player-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;color:#fff}
.player-card__position{margin-top:10px;color:#dbeafe;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.back-to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--rsv-blue);box-shadow:0 16px 32px rgba(0,0,0,.18);z-index:80}
.back-to-top:hover{transform:translateY(-3px)}
@media(max-width:900px){.premium-addon-grid,.premium-mini-card--player{grid-template-columns:1fr}.player-card__image{width:100%;height:260px}}

/* ===== Modern Premium 2.2 ===== */
/* Kontaktbutton oben rechts entfernt; Sponsoren Startseite 4 pro Reihe */
#sponsoren .sponsor-section__grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px;
}
@media (max-width:1080px){
  #sponsoren .sponsor-section__grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:820px){
  #sponsoren .sponsor-section__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  #sponsoren .sponsor-section__grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== Modern Premium 2.3 ===== */
/* Module Nächstes Heimspiel / Spieler des Monats entfernt */
.premium-addon-section{display:none!important}

/* 1. Mannschaft Seite */
.team-page-hero{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);
  color:#fff;
  padding:58px 0;
}
.team-page-hero__inner{
  display:grid;
  gap:12px;
}
.team-page-hero h1{
  margin:0;
  font-size:clamp(2.2rem,4vw,3.6rem);
  line-height:1.05;
  text-transform:uppercase;
}
.team-page-hero p{
  max-width:900px;
  margin:0;
  color:#e7efff;
}
.team-page-content{
  padding:54px 0 70px;
}
.team-group{
  margin-bottom:42px;
}
.team-group__head{
  margin-bottom:22px;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);
  border-radius:30px;
  padding:22px 24px;
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.16);
}
.team-group__head .section-subtitle{
  display:inline-flex;
  color:#dbeafe;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:7px 12px;
}
.team-group__head h2{
  margin:12px 0 0;
  font-size:clamp(1.7rem,2.5vw,2.4rem);
  text-transform:uppercase;
}
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.team-image-card{
  cursor:pointer;
  border:1px solid rgba(11,61,145,.1);
  background:#fff;
  padding:0;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(11,61,145,.09);
  transition:transform .18s ease, box-shadow .18s ease;
  text-align:left;
}
.team-image-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(11,61,145,.15);
}
.team-image-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.team-image-card span{
  display:block;
  padding:12px 14px;
  color:var(--rsv-blue-dark);
  font-weight:800;
  font-size:14px;
}
.team-lightbox{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(2,11,29,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.team-lightbox[hidden]{
  display:none!important;
}
.team-lightbox img{
  max-width:min(1100px,94vw);
  max-height:88vh;
  border-radius:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.team-lightbox__close{
  position:fixed;
  right:22px;
  top:18px;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--rsv-blue);
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 18px 36px rgba(0,0,0,.22);
}
@media(max-width:1080px){
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .team-grid{grid-template-columns:1fr}
}

/* ===== Modern Premium 2.4: einfache Mannschaften-Navigation ===== */
.primary-nav li{
  position:relative;
}
.primary-nav .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  padding:10px;
  margin:0;
  list-style:none;
  background:rgba(6,34,80,.96);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
  z-index:100;
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu{
  display:grid;
  gap:4px;
}
.primary-nav .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#fff;
  white-space:nowrap;
}
.primary-nav .sub-menu a:hover{
  background:rgba(255,255,255,.1);
  text-decoration:none;
}
.primary-nav .menu-item-has-children > a::after{
  content:"▾";
  margin-left:8px;
  font-size:.8em;
}
@media(max-width:820px){
  .primary-nav .sub-menu{
    position:static;
    display:grid;
    background:transparent;
    box-shadow:none;
    border:0;
    padding:0 0 0 14px;
    min-width:0;
  }
  .primary-nav .sub-menu a{
    padding:12px 0;
  }
}

/* ===== Modern Premium 2.5: 1. Mannschaft Bildanzeige Fix ===== */
.team-empty-note{
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(11,61,145,.1);
  box-shadow:0 14px 34px rgba(11,61,145,.08);
  color:var(--rsv-blue-dark);
}

/* ===== Modern Premium 2.6 ===== */
/* Permanenter Menülink 1. Mannschaft */
.rsv-permanent-team-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-transform:uppercase;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.rsv-permanent-team-link:hover{
  background:rgba(255,255,255,.16);
  transform:translateY(-2px);
  text-decoration:none;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}

/* 1. Mannschaft: max. 4 Bilder pro Reihe, kompaktere Bildgröße */
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start;
}
.team-image-card{
  border-radius:20px !important;
}
.team-image-card img{
  aspect-ratio:3/4 !important;
  max-height:300px;
  object-fit:cover;
}
.team-image-card span{
  padding:10px 12px !important;
  font-size:13px !important;
}
.team-group__head{
  padding:18px 22px !important;
  border-radius:26px !important;
  margin-bottom:18px !important;
}
.team-group{
  margin-bottom:34px !important;
}
@media(max-width:1080px){
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:820px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:560px){
  .team-grid{grid-template-columns:1fr !important}
}
@media(max-width:820px){
  .rsv-permanent-team-link{
    width:100%;
    justify-content:flex-start;
    padding:14px 0;
    background:transparent;
    border:0;
    border-top:1px solid rgba(255,255,255,.1);
    border-radius:0;
  }
}

/* ===== Modern Premium 2.7: Unterseiten Sponsoren + 1. Mannschaft einheitlich ===== */

/* Sponsoren-Unterseite: max. 4 Logos pro Reihe */
.sponsors-page-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.sponsors-page-grid .sponsor-box{
  min-height:120px;
}

/* 1. Mannschaft im identischen Unterseiten-Aufbau wie Sponsoren */
.sponsors-style-page .sponsors-page-hero,
.team-page-hero{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%) !important;
  color:#fff;
  padding:56px 0;
}
.sponsors-layout-group{
  margin-bottom:42px;
}
.sponsors-layout-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:22px;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);
  border-radius:32px;
  padding:24px 26px;
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.sponsors-layout-head .section-subtitle,
.sponsors-layout-head .section-title{
  color:#fff;
}
.sponsors-layout-head .section-subtitle{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#dbeafe;
}
.team-grid.sponsors-page-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.team-image-card.sponsor-box{
  width:100%;
  min-height:0;
  display:block;
  padding:0;
  border:1px solid rgba(11,61,145,.1);
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(11,61,145,.09);
  cursor:pointer;
}
.team-image-card.sponsor-box img{
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  max-height:280px;
  object-fit:cover;
  border-radius:0;
  padding:0;
  background:#eef4ff;
}
.team-image-card.sponsor-box span{
  display:block;
  padding:10px 12px;
  color:var(--rsv-blue-dark);
  font-weight:800;
  font-size:13px;
  text-align:center;
}
.team-image-card.sponsor-box:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(11,61,145,.15);
}
@media(max-width:1080px){
  .sponsors-page-grid,
  .team-grid.sponsors-page-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:820px){
  .sponsors-page-grid,
  .team-grid.sponsors-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .sponsors-page-grid,
  .team-grid.sponsors-page-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== Modern Premium 2.8: Fix 1. Mannschaft Anzeige ===== */
.team-page .team-grid.sponsors-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.team-page .team-image-card.sponsor-box{
  display:block !important;
  width:100%;
}
.team-page .team-image-card.sponsor-box img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4/5;
  object-fit:cover;
}

/* v2.9: permanenter Link entfernt */
.rsv-permanent-team-link{display:none!important;}


/* ===== Modern Premium 3.0: 1. Mannschaft kompakt ===== */
/* Backend: Name / Alt-Text-Felder für 1. Mannschaft werden entfernt. */
/* Frontend: nur Bildanzeige, keine Namen unter den Bildern. */

.team-page .team-grid.sponsors-page-grid,
.team-grid.sponsors-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 150px)) !important;
  gap:14px !important;
  justify-content:start !important;
  align-items:start !important;
}

.team-page .team-image-card.sponsor-box,
.team-image-card.sponsor-box{
  width:150px !important;
  max-width:150px !important;
  min-height:0 !important;
  padding:0 !important;
  border-radius:18px !important;
}

.team-page .team-image-card.sponsor-box img,
.team-image-card.sponsor-box img{
  width:150px !important;
  height:190px !important;
  max-height:190px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  display:block !important;
  padding:0 !important;
  border-radius:0 !important;
}

.team-page .team-image-card.sponsor-box span,
.team-image-card.sponsor-box span{
  display:none !important;
}

@media(max-width:820px){
  .team-page .team-grid.sponsors-page-grid,
  .team-grid.sponsors-page-grid{
    grid-template-columns:repeat(2, minmax(0, 150px)) !important;
  }
}

@media(max-width:420px){
  .team-page .team-grid.sponsors-page-grid,
  .team-grid.sponsors-page-grid{
    grid-template-columns:1fr !important;
  }

  .team-page .team-image-card.sponsor-box,
  .team-image-card.sponsor-box,
  .team-page .team-image-card.sponsor-box img,
  .team-image-card.sponsor-box img{
    width:100% !important;
    max-width:100% !important;
  }
}


/* ===== Modern Premium 3.0.2: 1. Mannschaft Premium-Unterseite ===== */
.team-page-hero--premium{
  padding:54px 0;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%) !important;
}
.team-page-hero__grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:30px;
  align-items:center;
}
.team-page-hero__content h1{
  margin:12px 0 0;
  font-size:clamp(2.4rem,4.5vw,4rem);
  line-height:1;
  text-transform:uppercase;
  color:#fff;
}
.team-page-hero__content p{
  margin:18px 0 0;
  color:#e7efff;
  max-width:680px;
}
.team-page-hero__image{
  position:relative;
  height:360px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
  background:rgba(255,255,255,.1);
}
.team-page-hero__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-page-hero__placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    rgba(255,255,255,.08);
  background-size:46px 46px;
}
.team-page-content{
  padding:50px 0 70px;
}
.team-page .sponsors-layout-group{
  margin-bottom:38px;
}
.team-page .sponsors-layout-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:20px;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(135deg,#08204b 0%, #0b3d91 52%, #1c63df 100%);
  border-radius:30px;
  padding:22px 24px;
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.15);
}
.team-page .sponsors-layout-head .section-title{
  color:#fff;
  margin:0;
  font-size:clamp(1.8rem,2.7vw,2.6rem);
  text-transform:uppercase;
}
.team-page .team-grid.sponsors-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 150px)) !important;
  gap:16px !important;
  justify-content:start !important;
}
.team-page .team-image-card.sponsor-box{
  width:150px !important;
  max-width:150px !important;
  border-radius:18px !important;
  background:#fff;
  overflow:hidden;
  padding:0 !important;
  border:1px solid rgba(11,61,145,.1);
  box-shadow:0 14px 34px rgba(11,61,145,.09);
}
.team-page .team-image-card.sponsor-box img{
  width:150px !important;
  height:190px !important;
  max-height:190px !important;
  object-fit:cover !important;
  display:block !important;
}
.team-page .team-image-card.sponsor-box span{
  display:none !important;
}
@media(max-width:1080px){
  .team-page-hero__grid{grid-template-columns:1fr}
  .team-page-hero__image{height:300px}
}
@media(max-width:820px){
  .team-page .team-grid.sponsors-page-grid{
    grid-template-columns:repeat(2, minmax(0, 150px)) !important;
  }
}
@media(max-width:420px){
  .team-page .team-grid.sponsors-page-grid{
    grid-template-columns:1fr !important;
  }
  .team-page .team-image-card.sponsor-box,
  .team-page .team-image-card.sponsor-box img{
    width:100% !important;
    max-width:100% !important;
  }
}

/* ===== Modern Premium 3.0.3 =====
   Kleinere Spielerbilder - 4 pro Reihe */
.team-page .team-grid.sponsors-page-grid{
    display:grid !important;
    grid-template-columns:repeat(4, 80px) !important;
    justify-content:center !important;
    gap:12px !important;
}
.team-page .team-image-card.sponsor-box{
    width:80px !important;
    max-width:80px !important;
    border-radius:12px !important;
}
.team-page .team-image-card.sponsor-box img{
    width:80px !important;
    height:100px !important;
    max-height:100px !important;
    object-fit:cover !important;
}
.team-page .team-image-card.sponsor-box span{
    display:none !important;
}
@media (max-width:768px){
    .team-page .team-grid.sponsors-page-grid{
        grid-template-columns:repeat(2,80px) !important;
    }
}


/* ===== Modern Premium 3.0.4 =====
   Responsive Premium-Kader */
.team-page .team-grid.sponsors-page-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(160px,1fr)) !important;
    gap:20px !important;
    justify-items:center !important;
    align-items:start !important;
}

.team-page .team-image-card.sponsor-box{
    width:100% !important;
    max-width:180px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    transition:transform .2s ease, box-shadow .2s ease !important;
}

.team-page .team-image-card.sponsor-box:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 18px 36px rgba(0,0,0,.18);
}

.team-page .team-image-card.sponsor-box img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
    display:block !important;
}

.team-page .team-image-card.sponsor-box span{
    display:none !important;
}

@media(max-width:1000px){
 .team-page .team-grid.sponsors-page-grid{
   grid-template-columns:repeat(3,minmax(150px,1fr)) !important;
 }
}

@media(max-width:760px){
 .team-page .team-grid.sponsors-page-grid{
   grid-template-columns:repeat(2,minmax(140px,1fr)) !important;
 }
}

@media(max-width:480px){
 .team-page .team-grid.sponsors-page-grid{
   grid-template-columns:1fr !important;
 }
 .team-page .team-image-card.sponsor-box{
   max-width:220px !important;
 }
}


/* ===== Modern Premium 3.0.5 =====
   Kompakte Spielerbilder: 80 x 100 px, exakt 4 pro Reihe */
.team-page .team-grid.sponsors-page-grid{
    display:grid !important;
    grid-template-columns:repeat(4,80px) !important;
    gap:12px !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;
}

.team-page .team-image-card.sponsor-box{
    width:80px !important;
    max-width:80px !important;
    min-width:80px !important;
    min-height:0 !important;
    padding:0 !important;
    border-radius:12px !important;
    overflow:hidden !important;
}

.team-page .team-image-card.sponsor-box img{
    width:80px !important;
    height:100px !important;
    max-width:80px !important;
    max-height:100px !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    display:block !important;
    padding:0 !important;
    border-radius:0 !important;
}

.team-page .team-image-card.sponsor-box span{
    display:none !important;
}

@media(max-width:480px){
    .team-page .team-grid.sponsors-page-grid{
        grid-template-columns:repeat(4,80px) !important;
        gap:8px !important;
        overflow-x:auto;
        justify-content:flex-start !important;
        padding-bottom:8px;
    }
}


/* ===== Modern Premium 3.0.6 =====
   Einheitliche Sponsorenkacheln: 220 x 140 px */
#sponsoren .sponsor-section__grid,
.sponsors-page-grid{
    display:grid !important;
    grid-template-columns:repeat(4,220px) !important;
    gap:20px !important;
    justify-content:center !important;
    align-items:start !important;
}

#sponsoren .sponsor-box,
.sponsors-page-grid .sponsor-box{
    width:220px !important;
    height:140px !important;
    min-height:140px !important;
    padding:20px !important;
    background:#fff !important;
    border:1px solid rgba(11,61,145,.10) !important;
    border-radius:22px !important;
    box-shadow:0 14px 32px rgba(11,61,145,.08) !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
}

#sponsoren .sponsor-box:hover,
.sponsors-page-grid .sponsor-box:hover{
    transform:translateY(-3px) scale(1.02) !important;
    box-shadow:0 22px 44px rgba(11,61,145,.14) !important;
}

#sponsoren .sponsor-box img,
.sponsors-page-grid .sponsor-box img{
    width:100% !important;
    height:100% !important;
    max-width:180px !important;
    max-height:100px !important;
    object-fit:contain !important;
    object-position:center !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
}

#sponsoren .sponsor-box a,
.sponsors-page-grid .sponsor-box a{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

@media(max-width:1080px){
    #sponsoren .sponsor-section__grid,
    .sponsors-page-grid{
        grid-template-columns:repeat(3,220px) !important;
    }
}

@media(max-width:820px){
    #sponsoren .sponsor-section__grid,
    .sponsors-page-grid{
        grid-template-columns:repeat(2,220px) !important;
    }
}

@media(max-width:520px){
    #sponsoren .sponsor-section__grid,
    .sponsors-page-grid{
        grid-template-columns:1fr !important;
    }

    #sponsoren .sponsor-box,
    .sponsors-page-grid .sponsor-box{
        width:100% !important;
        max-width:260px !important;
        margin:0 auto !important;
    }
}


/* ===== Modern Premium 3.0.7: eigenes fussball.de Spielmodul ===== */
#fussballde-match{
  display:flex;
  flex-direction:column;
}
#fussballde-match .section-subtitle{
  flex:0 0 auto;
}
.rsv-match-card{
  flex:1;
  min-height:355px;
  border-radius:24px;
  padding:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(145deg,#071b3f 0%,#0b3d91 55%,#1d67df 100%);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.rsv-match-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:38px 38px;
  opacity:.25;
  pointer-events:none;
}
.rsv-match-card > *{
  position:relative;
  z-index:1;
}
.rsv-match-card__source{
  position:absolute;
  top:14px;
  right:16px;
  font-size:11px;
  color:#d8e6ff;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rsv-match-card__competition{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#e8f1ff;
}
.rsv-match-card__teams{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:14px;
  align-items:center;
  margin:24px 0 18px;
}
.rsv-match-card__team strong{
  display:block;
  font-size:clamp(1.05rem,2vw,1.4rem);
  line-height:1.15;
}
.rsv-match-card__team span{
  display:block;
  margin-top:8px;
  color:#cfe0ff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.rsv-match-card__versus{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#0b3d91;
  font-weight:900;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.rsv-match-card__meta{
  font-weight:900;
  font-size:15px;
}
.rsv-match-card__venue{
  margin-top:8px;
  color:#dbe8ff;
  font-size:14px;
}
.rsv-match-card__button{
  margin-top:20px;
}
@media(max-width:560px){
  .rsv-match-card{
    min-height:320px;
    padding:18px;
  }
  .rsv-match-card__teams{
    grid-template-columns:1fr;
  }
  .rsv-match-card__versus{
    margin:auto;
  }
}


/* ===== Modern Premium 3.0.8: neues Spielmodul ===== */
#fussballde-match{
  padding:0 !important;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(11,61,145,.10);
  border-radius:30px;
  box-shadow:0 18px 48px rgba(11,61,145,.10);
}
.rsv-match-widget{
  min-height:355px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,#ffffff 0%,#f5f8ff 100%);
}
.rsv-match-widget__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:24px 24px 18px;
  border-bottom:1px solid rgba(11,61,145,.08);
}
.rsv-match-widget__eyebrow{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:#eaf1ff;
  color:#0b3d91;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.rsv-match-widget__header h3{
  margin:12px 0 0;
  color:#08204b;
  font-size:1.45rem;
  line-height:1.1;
}
.rsv-match-widget__source{
  color:#6b7a96;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rsv-match-widget__body{
  flex:1;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  padding:28px 24px;
}
.rsv-match-widget__team{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rsv-match-widget__team--home{text-align:left}
.rsv-match-widget__team--away{text-align:right}
.rsv-match-widget__label{
  color:#71809b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rsv-match-widget__team strong{
  color:#08204b;
  font-size:clamp(1.15rem,2vw,1.55rem);
  line-height:1.15;
}
.rsv-match-widget__center{
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#0b3d91 0%,#1c63df 100%);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 26px rgba(11,61,145,.22);
}
.rsv-match-widget__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 24px 22px;
  border-top:1px solid rgba(11,61,145,.08);
  background:#fff;
}
.rsv-match-widget__details{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#5f6f89;
  font-size:13px;
  font-weight:700;
}
.rsv-match-widget__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  background:#0b3d91;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 12px 24px rgba(11,61,145,.18);
}
.rsv-match-widget__link:hover{
  background:#082f73;
  color:#fff;
  transform:translateY(-2px);
  text-decoration:none;
}
@media(max-width:720px){
  .rsv-match-widget__body{
    grid-template-columns:1fr;
    text-align:center;
  }
  .rsv-match-widget__team--home,
  .rsv-match-widget__team--away{text-align:center}
  .rsv-match-widget__center{margin:auto}
  .rsv-match-widget__footer{
    flex-direction:column;
    align-items:stretch;
  }
  .rsv-match-widget__details{text-align:center}
}

/* ===== Modern Premium 3.0.9: Spieltagsvorschau ===== */
#spieltagsvorschau{
  padding:0!important;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(11,61,145,.10);
  box-shadow:0 18px 48px rgba(11,61,145,.10)
}
.rsv-preview{min-height:355px;display:flex;flex-direction:column;background:#fff}
.rsv-preview__header{
  position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:20px 22px;color:#fff;
  background:radial-gradient(circle at top right,rgba(255,255,255,.16),transparent 32%),linear-gradient(135deg,#071b3f 0%,#0b3d91 58%,#1b63da 100%)
}
.rsv-preview__header::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:34px 34px;pointer-events:none
}
.rsv-preview__header>*{position:relative;z-index:1}
.rsv-preview__eyebrow{
  display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#dbe8ff
}
.rsv-preview__header h3{margin:9px 0 0;font-size:1.35rem;color:#fff}
.rsv-preview__source{text-align:right;line-height:1.1}
.rsv-preview__source span{display:block;color:#bcd2f8;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.rsv-preview__source strong{display:block;margin-top:4px;font-size:12px;letter-spacing:.06em}
.rsv-preview__match{
  flex:1;display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:14px;padding:26px 20px
}
.rsv-preview__team{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.rsv-preview__crest{
  width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:22px;
  background:linear-gradient(145deg,#edf3ff,#fff);border:1px solid rgba(11,61,145,.10);
  box-shadow:0 10px 24px rgba(11,61,145,.09);color:#0b3d91;font-weight:900;font-size:1.05rem;letter-spacing:.04em
}
.rsv-preview__team span{margin-top:11px;color:#8592a9;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.rsv-preview__team strong{display:block;margin-top:7px;color:#071b3f;font-size:1.08rem;line-height:1.14}
.rsv-preview__middle{text-align:center}
.rsv-preview__vs{
  width:48px;height:48px;margin:0 auto 13px;display:flex;align-items:center;justify-content:center;border-radius:999px;
  color:#fff;font-weight:900;background:linear-gradient(145deg,#0b3d91,#1d68df);box-shadow:0 12px 24px rgba(11,61,145,.22)
}
.rsv-preview__date{color:#53637e;font-size:12px;font-weight:800;line-height:1.25}
.rsv-preview__time{margin-top:4px;color:#0b3d91;font-size:17px;font-weight:900}
.rsv-preview__footer{
  display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;
  border-top:1px solid rgba(11,61,145,.08);background:#f8faff;color:#71809a;font-size:11px;font-weight:700
}
.rsv-preview__footer a{color:#0b3d91;font-weight:900;text-decoration:none}
.rsv-preview__footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
  .rsv-preview__match{grid-template-columns:1fr}
  .rsv-preview__middle{order:2}
  .rsv-preview__team:first-child{order:1}
  .rsv-preview__team:last-child{order:3}
  .rsv-preview__source{display:none}
}


/* ===== Modern Premium 3.1.0: Spieltagsvorschau optisch überarbeitet ===== */
#spieltagsvorschau .section-subtitle{
  margin-bottom:14px !important;
}
#spieltagsvorschau .module-embed.rsv-preview-shell{
  background:#e8edf5 !important;
  border-radius:28px !important;
  padding:18px !important;
  min-height:575px;
  display:flex;
}
.rsv-preview-card{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 26%),
    linear-gradient(135deg,#0a265f 0%, #0b3d91 58%, #2a73ea 100%);
  color:#fff;
  box-shadow:0 18px 40px rgba(11,61,145,.20);
}
.rsv-preview-card__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.rsv-preview-card__pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rsv-preview-card__source{
  color:#dbe8ff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rsv-preview-card__match{
  flex:1;
  display:grid;
  grid-template-columns:1fr 110px 1fr;
  align-items:center;
  gap:14px;
  padding:24px 18px;
}
.rsv-preview-card__team{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.rsv-preview-card__badge{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:#fff;
  color:#0b3d91;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}
.rsv-preview-card__role{
  margin-top:12px;
  color:#d7e5ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rsv-preview-card__team strong{
  margin-top:8px;
  color:#fff;
  font-size:1.14rem;
  line-height:1.15;
  max-width:130px;
}
.rsv-preview-card__center{
  text-align:center;
}
.rsv-preview-card__vs{
  width:50px;
  height:50px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:#0b3d91;
  font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}
.rsv-preview-card__date{
  color:#eaf1ff;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.rsv-preview-card__time{
  margin-top:5px;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.rsv-preview-card__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 18px 18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.rsv-preview-card__season{
  color:#dbe8ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.rsv-preview-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  background:#fff;
  color:#0b3d91;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.rsv-preview-card__button:hover{
  color:#082f73;
  text-decoration:none;
  transform:translateY(-2px);
}
@media(max-width:700px){
  #spieltagsvorschau .module-embed.rsv-preview-shell{
    min-height:auto;
  }
  .rsv-preview-card__match{
    grid-template-columns:1fr;
  }
  .rsv-preview-card__footer{
    flex-direction:column;
    align-items:stretch;
  }
  .rsv-preview-card__button{
    width:100%;
  }
}


/* ===== Modern Premium 3.1.1: Matchday-Optik ===== */
#spieltagsvorschau .module-embed.rsv-preview-shell--matchday{
  background:#e8edf5 !important;
  border-radius:28px !important;
  padding:18px !important;
  min-height:575px;
  display:flex;
}
.rsv-matchday-card{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(135deg,#071b3f 0%, #0b3d91 58%, #2b75ea 100%);
  color:#fff;
  box-shadow:0 22px 46px rgba(11,61,145,.22);
  position:relative;
}
.rsv-matchday-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.45;
  pointer-events:none;
}
.rsv-matchday-card > *{
  position:relative;
  z-index:1;
}
.rsv-matchday-card__hero{
  padding:22px 20px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.rsv-matchday-card__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  color:#0b3d91;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}
.rsv-matchday-card__league{
  margin-top:14px;
  font-size:1.45rem;
  font-weight:900;
  line-height:1.15;
  text-transform:uppercase;
}
.rsv-matchday-card__dateblock{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.rsv-matchday-card__date{
  color:#dbe8ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.rsv-matchday-card__time{
  color:#fff;
  font-size:1.35rem;
  font-weight:900;
}
.rsv-matchday-card__teams{
  flex:1;
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  align-items:center;
  gap:10px;
  padding:26px 18px;
}
.rsv-matchday-card__team{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.rsv-matchday-card__crest{
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:#fff;
  color:#0b3d91;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}
.rsv-matchday-card__role{
  margin-top:12px;
  color:#dbe8ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rsv-matchday-card__team strong{
  margin-top:8px;
  color:#fff;
  font-size:1.15rem;
  line-height:1.15;
  max-width:150px;
}
.rsv-matchday-card__vswrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
.rsv-matchday-card__vs{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:1rem;
  font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.rsv-matchday-card__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 18px 18px;
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(7,27,63,.18);
}
.rsv-matchday-card__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#dbe8ff;
  font-size:11px;
  font-weight:800;
}
.rsv-matchday-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  background:#fff;
  color:#0b3d91;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
  white-space:nowrap;
}
.rsv-matchday-card__button:hover{
  color:#082f73;
  text-decoration:none;
  transform:translateY(-2px);
}
@media(max-width:700px){
  .rsv-matchday-card__teams{
    grid-template-columns:1fr;
  }
  .rsv-matchday-card__footer{
    flex-direction:column;
    align-items:stretch;
  }
  .rsv-matchday-card__button{
    width:100%;
  }
}


/* ===== Modern Premium 3.1.2: echte Matchday-Karte wie Vorschau ===== */
.widgets-section .fupa-shop-grid{
  align-items:stretch !important;
}

#spieltagsvorschau{
  display:flex;
  flex-direction:column;
}

#spieltagsvorschau .section-subtitle{
  margin-bottom:14px !important;
}

.rsv-gameday{
  flex:1;
  min-height:575px;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(11,61,145,.08);
  box-shadow:0 18px 42px rgba(11,61,145,.10);
  display:flex;
  flex-direction:column;
}

.rsv-gameday__poster{
  min-height:190px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px 18px 20px;
  background:
    radial-gradient(circle at 84% 12%, rgba(255,255,255,.14), transparent 25%),
    linear-gradient(155deg,#061a3c 0%,#0b3d91 58%,#2c72df 100%);
  overflow:hidden;
}

.rsv-gameday__poster::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:34px 34px;
  opacity:.5;
}

.rsv-gameday__poster > *{
  position:relative;
  z-index:1;
}

.rsv-gameday__brand{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
}

.rsv-gameday__brand img{
  max-width:62px;
  max-height:62px;
  object-fit:contain;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.18));
}

.rsv-gameday__brand span{
  color:#fff;
  font-weight:900;
  font-size:20px;
}

.rsv-gameday__matchday{
  color:#fff;
  font-size:clamp(2rem,3.4vw,3rem);
  line-height:.95;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.rsv-gameday__competition{
  margin-top:15px;
  padding:7px 18px;
  border-radius:6px;
  background:linear-gradient(90deg,#1556bc,#2e7bf0);
  color:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.rsv-gameday__teams{
  display:grid;
  grid-template-columns:1fr 54px 1fr;
  align-items:center;
  gap:14px;
  padding:24px 20px 22px;
  background:#fff;
}

.rsv-gameday__team{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.rsv-gameday__crest{
  width:76px;
  height:76px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b3d91;
  background:#fff;
}

.rsv-gameday__crest img{
  max-width:72px;
  max-height:72px;
  object-fit:contain;
}

.rsv-gameday__crest span{
  width:68px;
  height:68px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f6fb;
  border:2px solid #b7c1cf;
  color:#6f7c90;
  font-weight:900;
  font-size:16px;
}

.rsv-gameday__team strong{
  margin-top:10px;
  color:#101827;
  font-size:14px;
  line-height:1.2;
  max-width:135px;
}

.rsv-gameday__vs{
  color:#0b3d91;
  font-size:25px;
  font-weight:950;
  text-align:center;
}

.rsv-gameday__facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #dce3ed;
  border-bottom:1px solid #dce3ed;
  background:#fafcff;
}

.rsv-gameday__fact{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:78px;
  padding:14px 16px;
}

.rsv-gameday__fact + .rsv-gameday__fact{
  border-left:1px solid #dce3ed;
}

.rsv-gameday__fact--full{
  grid-column:1/-1;
  justify-content:center;
  text-align:center;
}

.rsv-gameday__icon{
  color:#0b3d91;
  font-size:20px;
  font-weight:900;
}

.rsv-gameday__fact small{
  display:block;
  color:#71809a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.rsv-gameday__fact strong{
  display:block;
  margin-top:4px;
  color:#0b3d91;
  font-size:14px;
  line-height:1.15;
}

.rsv-gameday__bottom{
  margin-top:auto;
  min-height:96px;
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:13px;
  background:
    radial-gradient(ellipse at bottom,rgba(27,93,190,.16),transparent 60%),
    linear-gradient(180deg,#f9fbff,#edf3fc);
}

.rsv-gameday__bottom span{
  color:#77859d;
  font-size:10px;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.rsv-gameday__bottom a{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 14px;
  border-radius:10px;
  background:linear-gradient(135deg,#0b3d91,#135fc9);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.045em;
  box-shadow:0 12px 24px rgba(11,61,145,.22);
}

.rsv-gameday__bottom a:hover{
  transform:translateY(-2px);
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 30px rgba(11,61,145,.28);
}

@media(max-width:700px){
  .rsv-gameday__teams{
    grid-template-columns:1fr;
  }
  .rsv-gameday__vs{
    padding:6px 0;
  }
  .rsv-gameday__facts{
    grid-template-columns:1fr;
  }
  .rsv-gameday__fact + .rsv-gameday__fact{
    border-left:0;
    border-top:1px solid #dce3ed;
  }
}


/* ===== Modern Premium 3.1.4: Header-Ausrichtung + Gegnerlogos ===== */
#spieltagsvorschau{
  padding:22px !important;
  overflow:visible !important;
  border-radius:30px !important;
  background:#fff !important;
}

#spieltagsvorschau > .section-subtitle{
  display:block !important;
  width:100% !important;
  margin:0 0 14px !important;
  padding:0 !important;
  line-height:1.2 !important;
  position:static !important;
  transform:none !important;
  overflow:visible !important;
  color:#0b3d91 !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

#spieltagsvorschau .rsv-gameday{
  width:100% !important;
}

#spieltagsvorschau .rsv-gameday__crest img{
  width:auto !important;
  height:auto !important;
  max-width:72px !important;
  max-height:72px !important;
  object-fit:contain !important;
}


/* ===== Modern Premium 3.1.5 =====
   Datumsquelle korrigiert: Herren-Mannschaftsspielplan statt icon-font-codierter Staffelübersicht. */
