.ice-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);width:100%}
.ice-testimonials[data-visible-count="1"]{grid-template-columns:minmax(0,960px);justify-content:center}
.ice-testimonials[data-visible-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;margin-inline:auto}
.ice-testimonial-card[hidden]{display:none!important}
.ice-testimonial-card{background:#fff;border:1px solid rgba(44,41,37,.12);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(44,41,37,.08);display:flex;flex-direction:column;min-width:0;width:100%}
.ice-testimonial-card__media{margin:0;aspect-ratio:16/10;overflow:hidden;min-width:0}
.ice-testimonial-card__image{display:block;width:100%;height:100%;object-fit:cover}
.ice-testimonial-card__body{padding:1.2rem 1.25rem 1.15rem;display:flex;flex:1;flex-direction:column;min-width:0}
.ice-testimonial-card__quote{font-family:Georgia,serif;font-size:3.2rem;line-height:.7;color:#b0452f;opacity:.55}
.ice-testimonial-card__title{margin:.35rem 0 .65rem;font-size:1.45rem;overflow-wrap:anywhere}
.ice-testimonial-card__excerpt{margin:0 0 1rem;line-height:1.65;overflow-wrap:anywhere}
.ice-testimonial-card__footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(44,41,37,.12);display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;min-width:0}
.ice-testimonial-card__footer>div{min-width:0;flex:1 1 auto}
.ice-testimonial-card__footer>div strong,.ice-testimonial-card__footer>div span{display:block;overflow-wrap:anywhere}
.ice-testimonial-card__footer>div span{font-size:.85rem;opacity:.75}
.ice-testimonial-card__more{border:0;background:transparent;padding:.25rem 0;color:#b0452f;cursor:pointer;font:inherit;line-height:1.35;text-align:right;white-space:normal;max-width:12rem;min-width:0;flex:0 1 auto;overflow-wrap:anywhere}

/* Einzelne Featured-Erfahrung: bewusst redaktionell statt schmale Kartenoptik. */
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card{flex-direction:row;min-height:360px}
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card__media{flex:0 0 42%;aspect-ratio:auto}
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card__body{padding:clamp(1.5rem,3vw,2.5rem)}
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card__title{font-size:clamp(1.55rem,2.25vw,2rem);max-width:22ch}
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card__excerpt{font-size:clamp(1rem,1.2vw,1.12rem);max-width:56ch}
.ice-testimonials[data-visible-count="1"] .ice-testimonial-card__footer{margin-top:1.3rem}

.ice-testimonial-dialog{width:min(760px,calc(100vw - 2rem));max-height:min(86vh,900px);border:0;border-radius:14px;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.ice-testimonial-dialog::backdrop{background:rgba(24,22,20,.62)}
.ice-testimonial-dialog__inner{padding:clamp(1.4rem,4vw,3rem);position:relative}
.ice-testimonial-dialog__close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;font-size:2rem;cursor:pointer}
.ice-testimonial-dialog__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;opacity:.65}
.ice-testimonial-dialog__byline{margin-top:-.5rem;opacity:.8}
.ice-testimonial-dialog__content{margin-top:1.5rem}
.ice-testimonials-empty{padding:1rem;border:1px dashed currentColor;opacity:.7}

@media(max-width:900px){
  .ice-testimonials:not([data-visible-count="1"]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .ice-testimonials[data-visible-count="1"]{grid-template-columns:minmax(0,760px)}
  .ice-testimonials[data-visible-count="1"] .ice-testimonial-card__media{flex-basis:40%}
}
@media(max-width:700px){
  .ice-testimonials,.ice-testimonials[data-visible-count="1"],.ice-testimonials[data-visible-count="2"]{grid-template-columns:1fr;max-width:none}
  .ice-testimonials[data-visible-count="1"] .ice-testimonial-card{flex-direction:column;min-height:0}
  .ice-testimonials[data-visible-count="1"] .ice-testimonial-card__media{flex-basis:auto;aspect-ratio:16/10}
  .ice-testimonials[data-visible-count="1"] .ice-testimonial-card__body{padding:1.25rem}
  .ice-testimonial-card__footer{align-items:flex-start;flex-direction:column}
  .ice-testimonial-card__more{text-align:left;max-width:100%}
}

/* v1.0.3: Vollansicht als redaktionelle Erfahrung mit Bild; interne EXP-ID bleibt im Backend. */
.ice-testimonial-dialog{width:min(920px,calc(100vw - 2rem));max-height:min(90vh,960px);overflow:auto;background:#fbf7ef}
.ice-testimonial-dialog__shell{position:relative;overflow:hidden;border-radius:14px;background:#fbf7ef}
.ice-testimonial-dialog__media{margin:0;width:100%;aspect-ratio:16/7;overflow:hidden;background:#ece5d8}
.ice-testimonial-dialog__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ice-testimonial-dialog__inner{padding:clamp(1.5rem,4vw,3.25rem);position:relative}
.ice-testimonial-dialog__inner h2{margin:0 3.25rem 1.15rem 0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.02em}
.ice-testimonial-dialog__close{z-index:3;right:1rem;top:1rem;width:3.1rem;height:3.1rem;display:grid;place-items:center;border:2px solid #b0452f;border-radius:10px;background:rgba(251,247,239,.96);font-size:2rem;line-height:1;color:#2c2925;box-shadow:0 3px 12px rgba(44,41,37,.08)}
.ice-testimonial-dialog__byline{margin:0 0 1.5rem;opacity:.82;font-size:1.05rem}
.ice-testimonial-dialog__content{margin-top:0;font-size:clamp(1.05rem,1.5vw,1.18rem);line-height:1.72}
.ice-testimonial-dialog__content>:first-child{margin-top:0}
.ice-testimonial-dialog__content>:last-child{margin-bottom:0}
@media(max-width:700px){
  .ice-testimonial-dialog{width:calc(100vw - 1rem);max-height:92vh}
  .ice-testimonial-dialog__media{aspect-ratio:4/3}
  .ice-testimonial-dialog__inner{padding:1.35rem 1.2rem 1.6rem}
  .ice-testimonial-dialog__inner h2{margin-right:0;font-size:clamp(1.75rem,8vw,2.35rem)}
  .ice-testimonial-dialog__close{width:2.8rem;height:2.8rem;right:.7rem;top:.7rem}
}

/* v1.0.4: dezenter, frei positionierbarer Fotocredit direkt auf dem Bild. */
.ice-testimonial-card__media,
.ice-testimonial-dialog__media{position:relative}
.ice-testimonial-photo-credit{
  position:absolute;
  z-index:2;
  display:inline-flex;
  align-items:center;
  max-width:min(78%,28rem);
  padding:.42rem .72rem;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(28,35,29,.64);
  color:#fff;
  box-shadow:0 3px 14px rgba(0,0,0,.16);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  font-size:clamp(.72rem,1vw,.84rem);
  line-height:1.25;
  text-decoration:none;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
  overflow-wrap:anywhere;
}
a.ice-testimonial-photo-credit:hover,
a.ice-testimonial-photo-credit:focus-visible{
  background:rgba(28,35,29,.82);
  color:#fff;
  text-decoration:none;
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:2px;
}
.ice-testimonial-photo-credit--top-left{top:.8rem;left:.8rem}
.ice-testimonial-photo-credit--top-center{top:.8rem;left:50%;transform:translateX(-50%)}
.ice-testimonial-photo-credit--top-right{top:.8rem;right:.8rem}
.ice-testimonial-photo-credit--center-left{top:50%;left:.8rem;transform:translateY(-50%)}
.ice-testimonial-photo-credit--center{top:50%;left:50%;transform:translate(-50%,-50%)}
.ice-testimonial-photo-credit--center-right{top:50%;right:.8rem;transform:translateY(-50%)}
.ice-testimonial-photo-credit--bottom-left{bottom:.8rem;left:.8rem}
.ice-testimonial-photo-credit--bottom-center{bottom:.8rem;left:50%;transform:translateX(-50%)}
.ice-testimonial-photo-credit--bottom-right{right:.8rem;bottom:.8rem}
/* Im großen Popup bleibt oben rechts ausreichend Luft für den Schließen-Button. */
.ice-testimonial-dialog__media .ice-testimonial-photo-credit--top-right{right:4.9rem}
@media(max-width:700px){
  .ice-testimonial-photo-credit{max-width:72%;padding:.36rem .62rem;font-size:.72rem}
  .ice-testimonial-dialog__media .ice-testimonial-photo-credit--top-right{right:4.25rem}
}

/* v1.0.8: stabiler Dreierkarten-Footer ohne doppelte CTA-Varianten. */
.ice-testimonial-card__footer>div strong,
.ice-testimonial-card__footer>div span{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer{
  min-height:10.5rem;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.65rem;
}
.ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer>div{
  width:100%;
  min-width:0;
  flex:0 0 auto;
}
.ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer>div strong{
  width:100%;
  max-width:none;
}
.ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer>div span{
  margin-top:.18rem;
}
.ice-testimonials[data-visible-count="3"] .ice-testimonial-card__more{
  align-self:flex-end;
  display:inline-flex;
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  margin-top:auto;
  padding:.25rem 0;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.ice-testimonial-card__more-label,
.ice-testimonial-card__more-arrow{
  display:inline-block;
  white-space:nowrap;
}
@media(max-width:700px){
  .ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer{min-height:0}
  .ice-testimonials[data-visible-count="3"] .ice-testimonial-card__more{
    align-self:flex-start;
    justify-content:flex-start;
  }
}


/* v1.0.9: robuste Responsive-Logik nach real verfuegbarer Komponentenbreite. */
.ice-testimonials{
  container-type:inline-size;
  container-name:ice-testimonials;
}

/* Die Karten selbst duerfen auf schmalen Screens nie kuenstlich zusammengedrueckt werden. */
@container ice-testimonials (max-width: 760px){
  .ice-testimonials,
  .ice-testimonials[data-visible-count="1"],
  .ice-testimonials[data-visible-count="2"],
  .ice-testimonials[data-visible-count="3"]{
    grid-template-columns:minmax(0,1fr);
    max-width:none;
  }
  .ice-testimonials[data-visible-count="3"] .ice-testimonial-card__footer{
    min-height:0;
  }
  .ice-testimonials[data-visible-count="3"] .ice-testimonial-card__more{
    align-self:flex-end;
    justify-content:flex-end;
  }
}

@container ice-testimonials (min-width: 761px) and (max-width: 1040px){
  .ice-testimonials:not([data-visible-count="1"]){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Fallback fuer Browser ohne Container Queries: Smartphone immer einspaltig. */
@media (max-width: 760px){
  .ice-testimonials,
  .ice-testimonials[data-visible-count="1"],
  .ice-testimonials[data-visible-count="2"],
  .ice-testimonials[data-visible-count="3"]{
    grid-template-columns:minmax(0,1fr) !important;
    max-width:none !important;
  }
  .ice-testimonial-card{
    width:100%;
    max-width:none;
  }
  .ice-testimonial-card__media{
    aspect-ratio:16/9;
  }
  .ice-testimonial-card__body{
    padding:1.15rem 1.1rem 1.2rem;
  }
  .ice-testimonial-card__title{
    font-size:clamp(1.35rem,6vw,1.65rem);
    overflow-wrap:normal;
    word-break:normal;
    hyphens:auto;
  }
  .ice-testimonial-card__excerpt{
    font-size:1rem;
    line-height:1.55;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:auto;
  }
  .ice-testimonial-card__footer{
    align-items:stretch;
    flex-direction:column;
    gap:.65rem;
  }
  .ice-testimonial-card__more,
  .ice-testimonials[data-visible-count="3"] .ice-testimonial-card__more{
    align-self:flex-end;
    justify-content:flex-end;
    text-align:right;
  }
  .ice-testimonial-photo-credit{
    max-width:calc(100% - 1.4rem);
    font-size:.72rem;
  }
}
