
:root{
  --navy:#082b5c;
  --red:#d20a11;
  --greyhouse:#c9d1d4;
  --paper:#f6f7f7;
  --card:#ffffff;
  --line:#cdd4d8;
  --shadow:0 14px 34px rgba(8,43,92,.09);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--navy);
  background:linear-gradient(#e9edef,#dfe5e7);
}
a{color:inherit}
img{max-width:100%}
.page{max-width:var(--max);margin:0 auto;padding:30px 22px 24px}
.topbar{
  display:grid;
  grid-template-columns:1fr minmax(330px,1.3fr) 1fr;
  gap:20px;
  align-items:center;
  margin-bottom:24px;
}
.activity{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:128px;
}
.activity img{width:min(235px,100%);height:125px;object-fit:contain}
.brand{text-align:center;line-height:.9}
.brand .line1,.brand .line2{
  font-family:"Arial Black",Impact,Arial,sans-serif;
  font-weight:900;
  letter-spacing:-2px;
  font-size:clamp(43px,6.5vw,78px);
}
.brand .line1{color:var(--navy)}
.brand .line2{color:var(--red)}
.brand .line3{
  margin-top:10px;font-size:clamp(24px,3.2vw,35px);font-weight:900;letter-spacing:2px;
}
.brand .line4{
  margin-top:8px;font-size:clamp(18px,2.4vw,28px);font-weight:900;letter-spacing:.5px;
}
.brand .line5{
  margin-top:10px;font-size:clamp(24px,3.2vw,30px);font-weight:900;letter-spacing:0px;
}
.heart{color:var(--red)}
.langswitch{
  position:fixed;z-index:20;right:18px;top:18px;
  display:flex;overflow:hidden;border:1px solid rgba(8,43,92,.22);border-radius:999px;
  background:rgba(255,255,255,.94);box-shadow:0 4px 18px rgba(0,0,0,.08)
}
.langswitch button{
  border:0;background:transparent;color:var(--navy);font-weight:800;padding:9px 13px;cursor:pointer
}
.langswitch button.active{background:var(--navy);color:#fff}
.hero{
  border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow);
  margin-bottom:24px;
}
.hero img{display:block;width:100%;aspect-ratio:16/8.4;object-fit:cover;object-position:center}
.categories{
  display:grid;grid-template-columns:repeat(6,1fr);
  background:rgba(255,255,255,.68);border-radius:14px;padding:10px 8px;margin-bottom:24px;
}
.cat{
  min-width:0;text-align:center;padding:13px 7px 11px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px
}
.cat:last-child{border-right:0}
.cat img{width:55px;height:48px;object-fit:contain}
.cat span{font-weight:800;font-size:13px}
.info-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:24px}
.card{
  background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.75);border-radius:18px;
  box-shadow:var(--shadow);padding:30px;
}
.hours{
  min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center
}
.hours .daily{font-size:clamp(28px,4.2vw,29px);font-weight:900;margin:0 0 18px}
.hours .time{font-size:clamp(28px,4.2vw,43px);font-weight:900;color:var(--red);margin:0}
.wave{margin-top:30px;font-size:38px;letter-spacing:2px}
.find h2{margin:0 0 18px;display:flex;align-items:center;gap:12px;font-size:29px}
.find h2 img{width:38px;height:38px}
.map{
  border-radius:12px;overflow:hidden;min-height:165px;position:relative;
  background:
    linear-gradient(135deg,transparent 48%,rgba(255,255,255,.75) 49% 52%,transparent 53%),
    linear-gradient(160deg,#cfe8c7 0 53%,#9ed4ec 53% 73%,#d8eed0 73%);
  border:1px solid #d5ddd8;margin-bottom:18px
}
.map::before,.map::after{
  content:"";position:absolute;background:#fff9;border-radius:8px
}
.map::before{width:65%;height:5px;left:4%;top:28%;transform:rotate(-18deg)}
.map::after{width:55%;height:5px;right:0;top:54%;transform:rotate(24deg)}
.map-label{
  position:absolute;right:11%;top:40%;z-index:2;font-weight:800;color:#111;background:#fff9;
  padding:5px 7px;border-radius:7px
}
.map-pin{
  position:absolute;right:28%;top:26%;z-index:2;width:26px;height:26px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);background:var(--red);box-shadow:0 2px 5px #0003
}
.map-pin::after{content:"";position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;left:9px;top:9px}
.contact-list{display:grid;gap:12px;margin:8px 0 20px}
.contact-row{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;font-size:18px}
.contact-row img{width:28px;height:28px}
.contact-row a{text-decoration:none}
.contact-row a:hover{text-decoration:underline}
.directions{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;text-decoration:none;font-weight:900;font-size:20px;
  padding:14px 28px;border-radius:8px;min-width:245px
}
.footer{
  margin-top:24px;border-top:1px solid rgba(8,43,92,.42);padding-top:15px;
  display:flex;justify-content:center;gap:22px;align-items:center;font-size:15px
}
.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.sep{opacity:.45}
.small-note{margin-top:9px;font-size:12px;opacity:.74}
@media (max-width:800px){
  .page{padding:22px 12px 18px}
  .topbar{grid-template-columns:1fr 1.55fr 1fr;gap:6px}
  .activity{min-height:95px}
  .activity img{height:90px}
  .brand .line1,.brand .line2{letter-spacing:-1px}
  .brand .line3{letter-spacing:1px}
  .categories{grid-template-columns:repeat(3,1fr)}
  .cat:nth-child(3){border-right:0}
  .cat:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .info-grid{grid-template-columns:1fr}
  .hours{min-height:160px}
}
@media (max-width:520px){
  .topbar{grid-template-columns:1fr 1.8fr 1fr;align-items:end}
  .activity img{height:74px}
  .brand .line1,.brand .line2{font-size:36px}
  .brand .line3{font-size:20px}
  .brand .line4{font-size:14px}
  .langswitch{right:9px;top:9px}
  .langswitch button{padding:7px 10px}
  .hero img{aspect-ratio:4/3}
  .cat span{font-size:11px}
  .find h2{font-size:24px}
  .contact-row{font-size:16px}
}

/* Slideshow */
.slideshow{position:relative;overflow:hidden}.slide{display:none;margin:0}.slide.is-active{display:block}.slide img{display:block;width:100%;aspect-ratio:16/8.4;object-fit:cover;object-position:center}.slide-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(8,43,92,.78);color:#fff;font-size:34px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.slide-nav:hover{background:rgba(8,43,92,.95)}.slide-nav.prev{left:14px}.slide-nav.next{right:14px}.slide-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.16)}.slide-dots button{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:#fff;opacity:.72;cursor:pointer}.slide-dots button.active{background:var(--red);opacity:1}@media(max-width:520px){.slide img{aspect-ratio:4/3}.slide-nav{width:40px;height:40px}}


/* Datenschutzfreundliche Google-Maps-Einbettung */
.map-embed{
  position:relative;
  min-height:250px;
  border-radius:12px;
  overflow:hidden;
  background:#dfe9e2;
  border:1px solid #d5ddd8;
  margin-bottom:18px;
}
.map-embed iframe{
  display:block;
  width:100%;
  height:310px;
  border:0;
}
.map-consent{
  min-height:250px;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    linear-gradient(135deg,transparent 48%,rgba(255,255,255,.68) 49% 52%,transparent 53%),
    linear-gradient(160deg,#cfe8c7 0 53%,#9ed4ec 53% 73%,#d8eed0 73%);
}
.map-consent-icon{font-size:40px;margin-bottom:8px}
.map-consent strong{font-size:22px}
.map-consent p{margin:8px 0 16px;color:#334}
.map-load-button{
  border:0;
  border-radius:8px;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  padding:12px 22px;
  cursor:pointer;
}
.map-load-button:hover{filter:brightness(.92)}
