/* WP Places Toolkit - minimal default styling */
.wptk-muted{opacity:.7;color:#678d95}
.wptk-grid{display:grid;gap:35px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1024px){.wptk-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.wptk-grid{grid-template-columns:repeat(1,minmax(0,1fr));}}

.wptk-rating-inline{
  display:flex;
  justify-content:center;
  gap:14px;
  line-height:1;
}
.wptk-rating-inline .wptk-stars{
  font-size:18px;
  letter-spacing:.08em;
}
.wptk-rating-value{
  color:#7f8f8f;
  font-size:14px;
}
.wptk-rating-value strong{
  font-weight:700;
}
.wptk-rating-max{
  opacity:.7;
}
.wptk-rating-sep{
  width:1px;
  height:18px;
  background:rgba(0,0,0,.15);
  display:inline-block;
}
.wptk-rating-count{
  color:#7f8f8f;
  font-size:14px;
}
.wptk-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92em;
  opacity:.9;
}
.wptk-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  color:#1a73e8; /* Google-Blau – optional */
}

.wptk-card{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:16px;background:#fff}
.wptk-head{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.wptk-meta{opacity:.8;font-size:.92em}
.wptk-text{line-height:1.45;opacity:.95;white-space:pre-wrap;color:#222222}
.wptk-foot{margin-top:12px;font-size:.92em}

.wptk-stars{position:relative;display:inline-block;line-height:1;letter-spacing:.12em;font-size:18px}
.wptk-stars .empty{opacity:.25}
.wptk-stars .fill{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;width:0;color:rgb(240, 173, 78)}

.wptk-badge{display:inline-flex;align-items:center;gap:8px;font-size:.92em;opacity:.9}
.wptk-badge .dot{width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block}

.wptk-openings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items: center;gap:6px}
.wptk-openings li{display:flex;justify-content:space-between;gap:14px}
.wptk-openings .day{font-weight:600}
.wptk-openings li.today{background:rgba(0,0,0,.04);padding:6px 10px;margin: -6px -10px;border-radius:10px}

.wptk-status{display:inline-flex;align-items:center;gap:8px}
.wptk-status .dot{width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block}
.wptk-open{color:inherit}
.wptk-closed{color:inherit}

.wptk-map{width:100%;overflow:hidden;border-radius:0}
.wptk-map-placeholder{display:flex;align-items:center;justify-content:center;border-radius:0;padding:16px;text-align:center}

/* Fix: Kalium img styles dürfen Google Maps Controls nicht beeinflussen */
.wptk-map .gm-style button img,
.wptk-map .gm-style .gm-control-active img,
.wptk-map .gm-style .gm-fullscreen-control img,
.wptk-map .gm-style .gmnoprint img {
  margin: 0 !important;
}

/* Slider */
.wptk-slider{position:relative}
/* Grundzustand */
.wptk-slider-viewport{
  overflow: hidden;
}

/* Wenn Navigation aktiv → Platz für Buttons */
.wptk-slider.has-nav .wptk-slider-viewport{
  padding-left: 35px;
  padding-right: 35px;
}


/* Track exakt 100%-Pages */
.wptk-slider-track{
  display:flex;
	align-items: stretch;
  transition: transform .35s ease;
  will-change: transform;

  /* Trick: wir kompensieren das Slide-Padding am Ende */
  margin-right: calc(var(--wptk-gap, 35px) * -1);
}

/* Slide-Breite = 100% / per_view (ohne Rundungsstress durch gap) */
.wptk-slide{
	display: flex;
  flex: 0 0 calc(100% / var(--wptk-per-view, 3));
  box-sizing: border-box;

  /* Abstand NUR zwischen Slides */
  padding-right: var(--wptk-gap, 35px);
}


.wptk-slide.is-clone { pointer-events: none; }

/* Nav */
.wptk-slider-btn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: none;
  background: #678d95;
	color: #fff;
	opacity: .5;
	cursor:pointer;
  padding-bottom: 5px;
  line-height: 1;
	font-size: 32px;
  font-weight: 100;
	transition: all .25s cubic-bezier(.445,.05,.55,.95);
}
.wptk-slider-btn:hover {
	opacity: 1;
}
.wptk-slider-btn.prev{left:-10px;padding-left:3px}
.wptk-slider-btn.next{right:-10px;padding-right:3px}
.wptk-slider-btn:disabled{opacity:.4;cursor:default}

/* Dots */
.wptk-slider-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:14px;
}
.wptk-slider-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid #678d95;
  background: transparent;
  padding:0;
  cursor:pointer;
}
.wptk-slider-dot[aria-current="true"]{
  background: #678d95;
}
