/* Feriencamp Template Styles – FSV 63 Luckenwalde */

:root{
  --fsv-navy:#041536;
  --fsv-blue:#07398f;
  --fsv-blue2:#064bb4;
  --fsv-yellow:#ffd21a;
  --fsv-white:#fff;
}
.feriencamp-page{
  --fc-hero-bg:url('../images/feriencamp/hero-kids.jpg');
  --fc-camp-ostern-bg:url('../images/feriencamp/camp-ostern.jpg');
  --fc-camp-sommer-bg:url('../images/feriencamp/camp-sommer.jpg');
  --fc-testimonial-bg:url('../images/feriencamp/testimonial.jpg');
  color:#fff;
  background:linear-gradient(180deg,#061936 0%,#063789 50%,#061a43 100%);
  font-family:Arial,Helvetica,sans-serif;
  overflow:hidden;
}
.fc-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}
.fc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  min-height:46px;padding:0 24px;border-radius:7px;
  font-size:14px;font-weight:900;text-transform:uppercase;text-decoration:none!important
}
.fc-btn--yellow{background:var(--fsv-yellow);color:#06245f!important}
.fc-btn--outline{border:2px solid rgba(255,255,255,.35);color:#fff!important;background:rgba(2,19,54,.42)}
.fc-section{padding:34px 0}
.fc-section-title{
  margin:0 0 28px;text-align:center;color:#fff;font-size:34px;
  font-weight:950;text-transform:uppercase;letter-spacing:.045em
}
.fc-section-title:after{content:"";display:block;width:110px;height:4px;margin:12px auto 0;border-radius:999px;background:var(--fsv-yellow)}

/* Hero */
.fc-hero{
  position:relative;min-height:620px;padding:58px 0 28px;
  background:
    linear-gradient(90deg,rgba(3,19,50,.98) 0%,rgba(4,35,94,.91) 39%,rgba(5,36,92,.50) 56%,rgba(5,23,54,.12) 100%),
    var(--fc-hero-bg) center right/cover no-repeat;
}
.fc-hero:before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:12px 12px;mask-image:linear-gradient(90deg,#000 0%,transparent 58%);opacity:.22
}
.fc-hero__content{position:relative;z-index:1;max-width:620px}
.fc-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;padding:7px 12px;border-radius:999px;
  background:rgba(255,210,26,.12);color:var(--fsv-yellow);font-weight:900;
  text-transform:uppercase;font-size:12px;letter-spacing:.08em
}
.fc-hero h1{
  margin:22px 0 10px;color:#fff;font-size:clamp(54px,8vw,96px);
  line-height:.88;font-weight:950;letter-spacing:-.055em;text-transform:uppercase
}
.fc-hero h1 span{display:block;font-style:italic}
.fc-hero__claim{margin:0 0 10px;color:var(--fsv-yellow);font-size:clamp(22px,3vw,31px);font-weight:950}
.fc-hero__text{max-width:560px;margin:0 0 20px;color:#dce8ff;font-size:16px;line-height:1.55;font-weight:650}
.fc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.fc-fact{
  display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 14px;
  border:1px solid rgba(255,255,255,.22);border-radius:7px;background:rgba(5,26,70,.55)
}
.fc-fact i{color:var(--fsv-yellow);font-size:22px;width:30px;text-align:center}
.fc-fact small{display:block;color:#c6d5f2;font-size:11px;text-transform:uppercase;font-weight:900}
.fc-fact strong{display:block;color:#fff;font-size:13px;text-transform:uppercase;font-weight:950}
.fc-hero__actions{display:flex;flex-wrap:wrap;gap:14px}

/* Benefit Bar */
.fc-benefit-bar{
  background:linear-gradient(90deg,#06317c,#084aa9 50%,#06317c);
  border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)
}
.fc-benefits{display:grid;grid-template-columns:repeat(4,1fr)}
.fc-benefit{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:22px;border-right:1px solid rgba(255,255,255,.21)}
.fc-benefit:first-child{border-left:1px solid rgba(255,255,255,.21)}
.fc-benefit i{font-size:38px;color:#fff}
.fc-benefit h3{margin:0 0 4px;font-size:14px;font-weight:950;text-transform:uppercase}
.fc-benefit p{margin:0;color:#cfe0ff;font-size:13px;line-height:1.38;font-weight:650}

/* Camps */
.fc-camps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.fc-camp-card{
  display:grid;grid-template-columns:205px 1fr;min-height:245px;border-radius:10px;overflow:hidden;
  background:linear-gradient(145deg,rgba(9,65,155,.94),rgba(4,28,75,.96));
  border:1px solid rgba(120,171,255,.38);box-shadow:0 20px 50px rgba(0,0,0,.35)
}
.fc-camp-card__image{min-height:245px;background:var(--fc-camp-ostern-bg) center/cover no-repeat}
.fc-camp-card--summer .fc-camp-card__image{background-image:var(--fc-camp-sommer-bg)}
.fc-camp-card__content{position:relative;padding:16px 18px 18px}
.fc-label{display:inline-flex;padding:6px 12px;border-radius:4px;background:var(--fsv-yellow);color:#06245f;font-size:12px;font-weight:950;text-transform:uppercase}
.fc-camp-card h3{margin:10px 0 12px;color:#fff;font-size:clamp(28px,3vw,38px);line-height:.95;font-weight:950}
.fc-camp-meta{display:grid;gap:8px;max-width:210px;margin:0 0 18px}
.fc-camp-meta__item{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;color:#d8e7ff;font-size:12px;font-weight:800;line-height:1.25}
.fc-camp-meta__item i{color:var(--fsv-yellow);font-size:18px;text-align:center}
.fc-camp-meta__item strong{display:block;color:#fff;text-transform:uppercase;font-size:11px}
.fc-price-box{
  position:absolute;right:16px;top:82px;width:130px;padding:14px 12px;
  border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(2,19,52,.56);text-align:center
}
.fc-price-box span{display:block;color:#cbdcff;font-size:10px;font-weight:950;text-transform:uppercase}
.fc-price-box strong{display:block;color:var(--fsv-yellow);font-size:27px;line-height:1;font-weight:950}
.fc-price-box hr{width:76%;margin:11px auto;border:0;border-top:1px solid rgba(255,255,255,.25)}
.fc-camp-location{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:end;margin-top:10px;color:#fff;font-size:13px;font-weight:800;line-height:1.3}
.fc-camp-location i{font-size:24px}
.fc-camp-location .fc-btn{min-height:42px;padding:0 18px;font-size:12px}

/* Erwartet */
.fc-expect{
  display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden;border-radius:10px;
  background:linear-gradient(180deg,rgba(10,66,157,.92),rgba(5,38,103,.92));
  border:1px solid rgba(120,171,255,.32);box-shadow:0 20px 50px rgba(0,0,0,.35)
}
.fc-expect__item{padding:24px 18px;min-height:160px;text-align:center;border-right:1px solid rgba(255,255,255,.18)}
.fc-expect__item:last-child{border-right:0}
.fc-expect__icon{font-size:44px;margin:0 auto 13px;color:#fff}
.fc-expect__item h3{margin:0 0 7px;font-size:13px;font-weight:950;text-transform:uppercase}
.fc-expect__item p{margin:0;color:#d6e5ff;font-size:12px;line-height:1.38;font-weight:650}

/* Kontakt / Elternstimme */
.fc-info-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;margin-top:16px}
.fc-panel{
  border-radius:10px;background:linear-gradient(145deg,rgba(10,65,154,.92),rgba(5,35,93,.92));
  border:1px solid rgba(120,171,255,.32);box-shadow:0 20px 50px rgba(0,0,0,.35);overflow:hidden
}
.fc-contact{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center;padding:22px}
.fc-contact img{width:126px;height:126px;border-radius:50%;object-fit:cover;background:#e8eef8;border:5px solid #fff}
.fc-contact h2,.fc-voice h2{margin:0 0 10px;font-size:23px;font-weight:950;text-transform:uppercase}
.fc-contact h3{margin:0 0 2px;font-size:24px;font-weight:900}
.fc-contact p{margin:0 0 11px;color:#cfe0ff;font-size:14px;font-weight:700}
.fc-contact a{color:#fff!important;text-decoration:none;font-weight:900}
.fc-voice{
  min-height:210px;padding:22px 28px;
  background:linear-gradient(90deg,rgba(8,46,116,.94),rgba(8,46,116,.72)),var(--fc-testimonial-bg) center/cover no-repeat
}
.fc-quote{display:grid;grid-template-columns:66px 1fr;gap:8px;align-items:start}
.fc-quote__mark{color:rgba(255,255,255,.25);font-size:86px;line-height:.75;font-weight:950}
.fc-quote p{margin:0 0 14px;color:#fff;font-size:17px;line-height:1.55;font-weight:750}
.fc-stars{color:var(--fsv-yellow);font-size:23px;letter-spacing:1px}
.fc-stars small{color:#fff;font-size:12px;font-weight:800}

/* Unten */
.fc-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding-bottom:28px}
.fc-included,.fc-faq{background:#f4f7ff;color:#0a2b68;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.fc-included h2,.fc-faq h2{margin:0;padding:12px 22px 7px;color:#112f76;font-size:20px;font-weight:950;text-transform:uppercase}
.fc-included__grid{display:grid;grid-template-columns:repeat(5,1fr);padding:0 10px 14px}
.fc-included__item{min-height:108px;padding:12px 10px;text-align:center;border-right:1px solid rgba(14,42,103,.16)}
.fc-included__item:last-child{border-right:0}
.fc-included__item i{display:block;margin-bottom:9px;color:#153c98;font-size:34px}
.fc-included__item span{display:block;font-size:11px;line-height:1.25;font-weight:950;text-transform:uppercase}
.fc-faq__list{padding:0 14px 14px}
.fc-faq details{border-radius:4px;margin-bottom:5px;background:linear-gradient(90deg,#08327e,#06245f);color:#fff;overflow:hidden}
.fc-faq summary{position:relative;cursor:pointer;list-style:none;padding:10px 42px 10px 14px;color:#fff;font-size:14px;font-weight:850}
.fc-faq summary::-webkit-details-marker{display:none}
.fc-faq summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px}
.fc-faq details[open] summary:after{content:"–"}
.fc-faq p{margin:0;padding:0 14px 12px;color:#dce8ff;font-size:13px;line-height:1.5;font-weight:650}

/* Footer */
.fc-footer{background:#04142f;border-top:1px solid rgba(255,255,255,.16);padding:26px 0 18px}
.fc-footer__grid{display:grid;grid-template-columns:1.5fr 1.2fr 1.1fr .9fr;gap:34px;align-items:start}
.fc-footer img{width:86px;height:auto;float:left;margin-right:16px}
.fc-footer h3{margin:0 0 8px;font-size:18px;font-weight:950;text-transform:uppercase}
.fc-footer p,.fc-footer a{color:#d8e5ff!important;font-size:14px;line-height:1.55;text-decoration:none;font-weight:650}
.fc-footer ul{margin:0;padding:0;list-style:none;columns:2}
.fc-socials{display:flex;gap:15px;margin-top:10px}
.fc-socials a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#04142f!important;background:#fff;font-size:18px}
.fc-footer__copy{clear:both;margin-top:18px;color:#9eb2d4;text-align:center;font-size:13px}

@media(max-width:1100px){
  .fc-camp-card{grid-template-columns:170px 1fr}
  .fc-price-box{position:static;width:100%;margin:10px 0 0}
  .fc-camp-location{grid-template-columns:28px 1fr}
  .fc-camp-location .fc-btn{grid-column:1/-1;width:100%}
}
@media(max-width:900px){
  .fc-hero{min-height:auto;padding:42px 0}
  .fc-facts,.fc-benefits,.fc-camps-grid,.fc-info-grid,.fc-bottom-grid,.fc-footer__grid{grid-template-columns:1fr}
  .fc-benefit,.fc-benefit:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .fc-expect{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .fc-wrap{width:min(100% - 24px,1180px)}
  .fc-hero h1{font-size:52px}
  .fc-facts{gap:8px}
  .fc-camp-card{grid-template-columns:1fr}
  .fc-camp-card__image{min-height:205px}
  .fc-expect{grid-template-columns:1fr}
  .fc-expect__item{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .fc-contact{grid-template-columns:1fr;text-align:center}
  .fc-contact img{margin:0 auto}
  .fc-quote{grid-template-columns:1fr}
  .fc-quote__mark{display:none}
  .fc-included__grid{grid-template-columns:1fr 1fr}
}
