/* css/kalendra-details.css */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500;700&family=Playfair+Display:wght@600;700&display=swap');

/* ====== Grundlayout ====== */
.k-service{
  max-width:1170px;
  margin:0 auto;
  padding:22px;
  font-family:"Quicksand",system-ui,sans-serif;
  color:#111;
  font-size:22px;
  line-height:1.6;
  font-weight:400;
}

/* ====== Hero ====== */
.k-hero{
  display:flex;
  justify-content:center;
  margin-bottom:12px;
}
.k-hero__img{
  max-height:380px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  border-radius:22px;
  box-shadow:0 22px 22px rgba(0,0,0,.22);
  cursor:zoom-in;
  background:#fff;
}

/* ====== Cards ====== */
.k-card{
  border-radius:22px;
  padding:44px;
  margin-top:22px;
  box-shadow:0 22px 22px rgba(0,0,0,.22);
  background:#fff;
}

/* ====== Titel + Prosa ====== */
.k-title__h1{
  font-family:"Playfair Display",serif;
  font-size:44px;
  font-weight:600;
  margin:0 0 16px;
  text-align:center;
  letter-spacing:1.4px;
}
@media (max-width:640px){
  .k-title__h1{font-size:38px;}
}
.k-prose,
.k-description .k-prose{
  font-size:22px;
  line-height:1.85;
  color:#111;
}

/* ====== Details ====== */
.k-details .k-detail{
  padding:16px 14px;
  text-align:center;
  border-bottom:2px dashed #000000;
}
.k-detail:last-child{border-bottom:none;}
.k-detail__label{
  font-size:18px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
  color:#020617;
}
.k-detail__value{font-size:22px;}
.k-detail__value a{text-decoration:none;}
.k-detail__value a:hover{text-decoration:underline;}

/* ====== Map ====== */
.k-map{margin-top:22px;}
.k-map__leaflet{
  width:100%;
  height:330px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 22px 22px rgba(0,0,0,.22);
  background:#fff;
}

/* ====== Buttons ====== */
.k-btn{
  padding:12px 18px;
  border-radius:18px;
  font-weight:800;
  border:1px solid transparent;
  text-decoration:none;
  display:inline-block;
  cursor:pointer;
}
.k-btn--full{
  display:block;
  margin:22px auto 0;
  padding:14px 18px;
  border-radius:22px;
  text-align:center;
  color:#111;
  font-size:22px;
  letter-spacing:.05em;
  box-shadow:0 22px 22px rgba(0,0,0,.22);
  background:#fff;
  transition:all .28s ease;
  max-width:222px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  font-weight:800;
}
.k-btn--full:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 26px 70px rgba(15,23,42,.55);
}
.k-btn--ghost{
  background:#fff;
  color:#111;
  border:1px solid #e5e7eb;
}
.k-btn--danger{
  background:#fff;
  color:#b91c1c;
  border:1px solid #fecaca;
}

/* ====== Galerie ====== */
.k-gallery__title{
  font-size:22px;
  margin:0 0 12px;
  font-weight:700;
  text-align:center;
}
.k-gallery__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:14px;
}
.k-gallery__item{
  display:block;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.35);
  background:#fff;
  cursor:zoom-in;
  box-shadow:0 10px 28px rgba(15,23,42,.12);
  transition:transform .15s ease, box-shadow .15s ease;
}
.k-gallery__item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.k-gallery__item:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(15,23,42,.2);
}

/* ====== Lightbox (:target) ====== */
.k-lb{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.9);
  z-index:1000;
  padding:24px;
}
.k-lb:target{
  display:flex;
  animation:fadeIn .2s ease;
}
.k-lb__img{
  max-width:94vw;
  max-height:88vh;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.9);
}
.k-lb__bg{
  position:fixed;
  inset:0;
  display:block;
}
/* ====== Lightbox Controls (rund & premium) ====== */
.k-lb__close,
.k-lb__nav{
  position: fixed;
  z-index: 1002;

  width: 44px;
  height: 44px;
  border-radius: 999px;

  display: grid;
  place-items: center;

  text-decoration: none;
  color: #111;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);

  line-height: 1;
  font-size: 26px;
  font-weight: 700;
}

.k-lb__close{
  top: 14px;
  right: 14px;
  font-size: 30px;
}

.k-lb__prev{ left: 14px; top: 50%; transform: translateY(-50%); }
.k-lb__next{ right: 14px; top: 50%; transform: translateY(-50%); }
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ====== Chat ====== */
.k-chat__hint{
  text-align:center;
  font-size:18px;
  opacity:.85;
}
.k-chat__form{
  margin-top:14px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.k-chat__textarea{
  width:100%;
  border-radius:18px;
  padding:14px 16px;
  font-size:20px;
  line-height:1.6;
  border:1px solid rgba(148,163,184,.5);
  box-shadow:0 10px 28px rgba(15,23,42,.08);
  outline:none;
}
.k-chat__textarea:focus{border-color:#111;}
.k-chat__status{
  text-align:center;
  margin-top:10px;
  font-size:18px;
  opacity:.9;
}

/* ====== Owner CTA ====== */
.k-cta{
  margin-top:26px;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}

/* Privatverkauf oder Gewerblich */
.k-badges { margin: 8px 0 0; }

.k-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:4px 10px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:600;
}

.k-badge--private{
  background:#e6f4ea;
  color:#1e7f4d;
}

.k-badge--business{
  background:#e8f0fe;
  color:#1a4fd8;
}

.k-slider { position: relative; }
.k-slider__track{
  display:flex;
  gap:12px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding: 8px 44px; /* Platz für Buttons */
  -webkit-overflow-scrolling: touch;
}
.k-slider__slide{
  flex: 0 0 auto;
  width: min(420px, 80vw);
  scroll-snap-align: center;
  border-radius: 18px;
  overflow:hidden;
  display:block;
}
.k-slider__slide img{
  width:100%;
  height:auto;
  display:block;
}

.k-slider__btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px; height:38px;
  border-radius:999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(6px);
  cursor:pointer;
  z-index:2;
}
.k-slider__btn--prev{ left: 8px; }
.k-slider__btn--next{ right: 8px; }
/* Preis Layout */
.k-detail--price .k-price-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  justify-content:center;
}

.k-price-main{
  font-size:28px;
  font-weight:800;
  letter-spacing:.2px;
}

.k-currency{
  font-size:18px;
  margin-left:6px;
  opacity:.85;
}

/* Badges Basis */
.k-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
  line-height:1;
  white-space:nowrap;
}

/* Privat / Gewerblich */
.k-badge--offer{
  background:rgba(12, 120, 140, 0.14);
  color:#0c788c;
}

/* Preisart */
.k-badge--price-type{
  background:rgba(0,0,0,.07);
  color:#222;
}

/* Zustand */
.k-badge--condition{
  background:rgba(0,0,0,.07);
  color:#222;
}
.k-badge--condition.is-new{
  background:rgba(0,160,90,.14);
  color:#00905a;
}
/* unified details */
.k-details--unified{
  padding: 22px 20px;
}

.k-info-row{
  padding: 18px 6px;
  border-top: 1px dashed rgba(0,0,0,.20);
  text-align: center;
}
.k-info-row:first-child{ border-top: 0; }

.k-info-label{
  font-weight: 700;
  letter-spacing: .22em;
  font-size: 12px;
  text-transform: uppercase;
  opacity: .85;
  margin-bottom: 10px;
}

.k-info-main{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.k-info-value{
  font-size: 28px;          /* <- values größer, überall gleich */
  font-weight: 800;
  line-height: 1.15;
}

.k-currency{
  font-size: .75em;
  font-weight: 800;
  margin-left: .12em;
}

/* links (tel/mail) wie value, aber klickbar */
.k-info-link{
  color: inherit;
  text-decoration: none;
}
.k-info-link:hover{
  text-decoration: underline;
}

/* badges/pills */
.k-info-badges{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.k-pill{
  display:inline-flex;
  align-items:center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
  background: #fff;
}

/* “Kalendra”-Look ohne harte Farben */
.k-pill--muted{
  background: rgba(0,0,0,.05);
}
.k-pill--offer{
  background: rgba(0, 150, 136, .10);
}
.k-pill--condition{
  background: rgba(64, 121, 255, .10);
}

/* Responsive: value etwas kleiner */
@media (max-width: 640px){
  .k-info-value{ font-size: 24px; }
}
