/* Light Theme */
.rpp-sponsor-body{
  margin:0;
  background:#f5f7fb;
  color:#0f172a;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial
}
.rpp-sponsor-wrap{max-width:1100px;margin:0 auto;padding:26px 16px;position:relative}

/* Startseite /werbung/ Hintergrund */
.rpp-home-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;}
.rpp-home-bg__overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--rppOverlay,0.35));}
.rpp-home-bg__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Default / Standard */
.rpp-home-bg--standard{display:none;}

/* Gradient */
.rpp-home-bg--gradient{background:linear-gradient(var(--rppAngle,135deg), var(--rppGrad1,#0f172a), var(--rppGrad2,#1f2937));}

/* Image */
.rpp-home-bg--image{background-image:var(--rppBgImage);background-size:cover;background-position:center;background-repeat:no-repeat;}

/* Video */
.rpp-home-bg--video{background:linear-gradient(var(--rppAngle,135deg), var(--rppGrad1,#0f172a), var(--rppGrad2,#1f2937));}
a{color:#1d4ed8;text-decoration:none}
a.back{display:inline-block;margin-bottom:8px;color:#1d4ed8}
.muted{color:rgba(15,23,42,.70)}

.rpp-sponsor-top{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.rpp-sponsor-top h1{margin:0 0 6px 0;font-size:34px;letter-spacing:.2px}
.rpp-sponsor-top .meta{display:flex;gap:10px;flex-wrap:wrap}
.rpp-sponsor-top .meta span{
  background:#ffffff;
  border:1px solid rgba(2,6,23,.10);
  padding:6px 10px;border-radius:999px;font-size:13px
}
.rpp-sponsor-top .meta.big span{font-size:14px}
.actions{display:flex;gap:10px;align-items:center}

.btn{
  background:#2563eb;border:none;color:#fff;padding:10px 14px;border-radius:12px;
  cursor:pointer;font-weight:650
}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{background:transparent;border:1px solid rgba(2,6,23,.18);color:#0f172a}
.btn.small{padding:7px 10px;border-radius:10px;font-size:13px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.rpp-sponsor-top{flex-direction:column}}

.card{
  background:#ffffff;
  border:1px solid rgba(2,6,23,.10);
  border-radius:18px;padding:16px;
  box-shadow:0 6px 20px rgba(2,6,23,.06)
}
.card.projectbox{border-left:4px solid rgba(37,99,235,.45);margin-bottom:26px}
.card.projectbox h2{margin-top:0}
.card.projectbox .reach h3{margin:14px 0 6px 0;font-size:15px}
.card.project{display:block;transition:transform .12s ease}
.card.project:hover{transform:translateY(-2px)}
.badge{
  display:inline-flex;background:rgba(37,99,235,.12);
  border:1px solid rgba(37,99,235,.25);
  padding:6px 10px;border-radius:999px;font-size:13px;color:#1d4ed8
}
.card h3{margin:10px 0 8px 0;font-size:18px;color:#0f172a}
.card .meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.card .meta span{font-size:13px;color:rgba(15,23,42,.75)}
.card .foot{display:flex;justify-content:space-between;align-items:center}
.price{font-weight:750}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:980px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.gallery{grid-template-columns:repeat(2,1fr)}}
.gallery img{width:100%;height:140px;object-fit:contain;border-radius:12px;display:block;background:#fff}
.gallery.small img{height:140px}

.slots{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.slot{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;
  background:#f8fafc;border:1px solid rgba(2,6,23,.10);
  border-radius:16px;padding:14px
}
@media(max-width:640px){.slot{grid-template-columns:1fr}}
.slot h3{margin:0 0 6px 0}
.slot-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.slot-meta span{
  background:#fff;border:1px solid rgba(2,6,23,.10);
  padding:5px 9px;border-radius:999px;font-size:12px
}
.slot-price{font-weight:800;margin-bottom:10px;text-align:right}
.slot-side{text-align:right}
.slot-img{grid-column:1 / -1;display:flex;justify-content:flex-start}
.slot-img a{display:inline-block}
.slot-img img{width:100%;max-width:360px;height:140px;object-fit:contain;border-radius:12px;background:#fff;display:block}

.projectbox .reach h3{margin:12px 0 6px 0;font-size:16px}

.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:640px){.formgrid{grid-template-columns:1fr}}
label{display:block;margin:10px 0 6px 0;font-weight:650}
input,textarea{
  width:100%;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(2,6,23,.16);background:#fff;color:#0f172a;outline:none
}
input:focus,textarea:focus{border-color:rgba(37,99,235,.55)}

.cartlist{display:flex;flex-direction:column;gap:10px}
.cartitem{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:#ffffff;border:1px solid rgba(2,6,23,.10);
  border-radius:14px;padding:12px
}
.ctitle{font-weight:800}


/* Lightbox */
#rppLightbox{display:none;position:fixed;inset:0;z-index:99999}
#rppLightbox.open{display:block}
#rppLightbox .rpp-lb-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.82)}
#rppLightbox .rpp-lb-inner{
  position:relative;max-width:min(1100px,92vw);max-height:92vh;
  margin:4vh auto;background:#0b1220;border:1px solid rgba(255,255,255,.10);
  border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45);
  padding:12px;
  display:flex;align-items:center;justify-content:center;
}
#rppLightbox .rpp-lb-img{max-width:100%;max-height:86vh;border-radius:14px;display:block}
#rppLightbox .rpp-lb-close{
  position:absolute;top:8px;right:10px;
  width:38px;height:38px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;font-size:22px;line-height:1;cursor:pointer;
}
body.rpp-lb-open{overflow:hidden}
a.rpp-lightbox{display:block}


/* Month grouping + extra text */
.rpp-month{margin:18px 0 6px;font-size:16px;font-weight:700;color:#222;}
.rpp-overview-extra{margin:10px 0 16px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}

/* --- Areas (Infokanal / Sendungen) --- */
.area-sections{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:28px;
  margin:16px 0 22px 0;
}
.area-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.area-card__inner{padding:14px; display:flex; flex-direction:column; height:100%;}
.area-card__inner .btn{margin-top:auto; margin-bottom:6px;}
.area-card__inner .btn{display:inline-block;}
.area-card__inner{gap:10px;}
.area-card{height:100%; min-height:220px;}

.area-card h2{margin:0 0 8px 0;font-size:18px;}
.area-card p{margin:0 0 12px 0;}

.info-box{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  margin-top:10px;
}
.info-box__title{font-weight:700;margin-bottom:10px;}
.info-box__text p, .info-box__reach p{margin:0 0 8px 0;}
.spacer{height:16px;}
.section-title{margin:0 0 10px 0;}

.gallery{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.gallery .thumb{
  width:140px;
  height:140px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  overflow:hidden;
  background:#f8fafc;
}
.gallery .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* Slot image preview (right side) */
.slot-thumb{
  width:140px;
  height:140px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  overflow:hidden;
  background:#f8fafc;
  margin:10px 0;
  display:block;
}
.slot-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}


/* --- Compatibility: slot-card markup (Infokanal/Sendungen) styled like .slot --- */
.slot-card{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;
  background:#f8fafc;border:1px solid rgba(2,6,23,.10);
  border-radius:16px;padding:14px
}
@media(max-width:640px){.slot-card{grid-template-columns:1fr}}
.slot-card__title{font-size:18px;font-weight:800;margin:0 0 6px 0}
.slot-card__desc{margin:0 0 8px 0;color:rgba(15,23,42,.85)}
.slot-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;color:rgba(15,23,42,.75);font-size:13px}
.slot-card__price{font-weight:800;margin-bottom:10px;text-align:right}
.slot-card__side{text-align:right;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.slot-thumb{display:inline-block}
.slot-thumb img{width:100%;max-width:360px;height:140px;object-fit:contain;border-radius:12px;display:block;background:#fff;border:1px solid rgba(2,6,23,.10)}
