/* Card Layout */
.ibs-card{background:var(--ibs-card-bg,#ffffff);border-radius:16px;box-shadow:0 6px 18px rgba(2,6,23,.12);overflow:hidden;max-width:520px}
.ibs-media{position:relative;width:100%;height:var(--ibs-slider-h,260px)}
.ibs-slider{position:relative;overflow:hidden;height:100%;background:var(--ibs-slider-bg,transparent)}
.ibs-slide{display:none;height:100%}
.ibs-slide.is-active{display:block}
.ibs-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ibs-slider:hover .ibs-slide.is-active img{transform:scale(1.05)} /* Hover Zoom */

/* Badges */
.ibs-badges{position:absolute;left:10px;top:10px;display:flex;gap:8px;flex-wrap:wrap;z-index:3}
.ibs-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--ibs-badge-bg,rgba(0,0,0,.5));font-size:var(--ibs-badge-font,14px);font-weight:700;color:var(--ibs-badge-text,rgba(17,17,17,1))}
.ibs-badge-icon{width:16px;height:16px;object-fit:contain;display:block}

/* Arrows */
.ibs-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);border:none;color:#fff;font-size:18px;width:32px;height:32px;border-radius:16px;cursor:pointer;z-index:2}
.ibs-prev{left:10px}
.ibs-next{right:10px}

/* No bullets */

/* Body */
.ibs-body{padding:18px 20px 20px}
.ibs-catline{display:flex;align-items:center;gap:8px;color:var(--ibs-text-color,rgba(55,65,81,1));font-size:14px}
.ibs-icon{width:18px;height:18px}
.ibs-title{margin:8px 0 4px 0;font-size:var(--ibs-title-size,24px);line-height:1.25;color:var(--ibs-title-color,rgba(31,41,55,1));font-weight:700}

/* Locations under title */
.ibs-locations{margin:0 0 10px 0}
.ibs-link{font-size:var(--ibs-text-size,15px);color:#0ea5a6;text-decoration:none;font-weight:700}
.ibs-link:hover{text-decoration:underline}

/* Checklist */
.ibs-list{list-style:none;margin:0 0 10px 0;padding:0;border-top:1px solid #e5e7eb}
.ibs-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e5e7eb;color:var(--ibs-text-color,rgba(55,65,81,1));line-height:var(--ibs-list-lh,1.5)}
.ibs-list li::before{content:"✓";font-weight:700;color:var(--ibs-aux-color,#3b5b9a)}

/* Footer */
.ibs-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.ibs-button{display:inline-block;padding:var(--ibs-btn-pad-y,12px) var(--ibs-btn-pad-x,18px);border-radius:12px;border:1px solid var(--ibs-btn-border,rgba(203,213,225,1));background:var(--ibs-btn-bg,rgba(255,255,255,1));color:var(--ibs-btn-color,rgba(17,17,17,1));text-decoration:none;font-weight:700;font-size:var(--ibs-btn-size,16px)}
.ibs-button:hover{background:var(--ibs-btn-hover-bg,inherit);color:var(--ibs-btn-hover-color,inherit)}

.ibs-price{display:flex;align-items:baseline;gap:6px}
.ibs-price-prefix{font-size:16px;color:var(--ibs-aux-color,#334155)}
.ibs-price-value{font-size:var(--ibs-price-size,24px);font-weight:800;color:var(--ibs-price-color,rgba(14,165,166,1))}
.ibs-price-suffix{font-size:16px;color:var(--ibs-aux-color,#334155)}

/* Diagonal bottom edge */
.ibs-media.ibs-diagonal .ibs-slider{clip-path: polygon(0 0,100% 0,100% calc(100% - var(--ibs-diag-h,20px)),0 100%);}
.ibs-sep{margin:0 6px;color:var(--ibs-aux-color,#334155);font-weight:700}

.ibs-icon-svg svg{width:18px;height:18px;display:block}
.ibs-badge-svg svg{width:16px;height:16px;display:block}


/* Hotfix 1.6.6.2: keep aux color, no underline */
.ibs-card .ibs-locations a.ibs-link,
.ibs-card .ibs-locations a.ibs-link:visited,
.ibs-card .ibs-locations a.ibs-link:hover,
.ibs-card .ibs-locations a.ibs-link:focus,
.ibs-card .ibs-locations a.ibs-link:active{
  color: var(--ibs-aux-color,#ffffff) !important;
  text-decoration: none !important;
}

/* Bullets integrated v1.8.2 (Flatsome-like) */
.ibs-slider{position:relative}
.ibs-bullets{position:absolute;left:50%;bottom:var(--ibs-bullet-offset,22px);transform:translateX(-50%);display:flex;gap:8px;z-index:4;pointer-events:auto}
.ibs-bullet{
  width:var(--ibs-bullet-size,10px);height:var(--ibs-bullet-size,10px);border-radius:50%;
  background:transparent;border:2px solid rgba(255,255,255, calc(var(--ibs-bullet-opacity,0.9)*0.75));
  box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset;
  opacity:.9;transform:scale(1);
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.ibs-bullet.is-active{
  background: rgba(255,255,255, var(--ibs-bullet-opacity,0.9));
  border-color: rgba(255,255,255, var(--ibs-bullet-opacity,0.9));
  transform: scale(1.1);
}
/* Helle Karten -> dunklere Bullets */
.ibs-card[style*="--ibs-card-bg: rgba(255"] .ibs-bullet{
  border-color: rgba(0,0,0, calc(var(--ibs-bullet-opacity,0.9)*0.55));
  box-shadow: 0 0 0 1px rgba(0,0,0,.05) inset;
}
.ibs-card[style*="--ibs-card-bg: rgba(255"] .ibs-bullet.is-active{
  background: rgba(0,0,0, var(--ibs-bullet-opacity,0.9));
  border-color: rgba(0,0,0, var(--ibs-bullet-opacity,0.9));
}

/* v1.8.7: perfect centering for slider arrows */
.ibs-slider .ibs-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ibs-slider .ibs-arrow::before{
  position: static;
  margin:0;
  transform:none;
  line-height:1;
}

/* v1.8.8: SVG mask based arrows for perfect centering */
.ibs-nav{display:flex;align-items:center;justify-content:center}
.ibs-prev::before,
.ibs-next::before{
  content:"";
  display:block;
  width:40%;
  height:40%;
  background: var(--ibs-arrow-color, #ffffff);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M9.29 6.71a1 1 0 011.42 0L16 12l-5.29 5.29a1 1 0 11-1.42-1.42L13.17 12 9.29 8.12a1 1 0 010-1.41z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M9.29 6.71a1 1 0 011.42 0L16 12l-5.29 5.29a1 1 0 11-1.42-1.42L13.17 12 9.29 8.12a1 1 0 010-1.41z'/></svg>");
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
}
.ibs-prev::before{ transform: rotate(180deg); }

/* v1.8.8.2: Checklist wirklich linksbündig */
.ibs-card .ibs-list{margin:0;padding:0;list-style:none}
.ibs-card .ibs-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid #e5e7eb;
  line-height:var(--ibs-list-lh,1.5);
}
.ibs-card .ibs-list li::before{
  content:"✓";
  display:inline-block;
  width:16px;
  flex:0 0 16px;
  text-align:center;
  margin-top:2px;
  font-weight:700;
  color:var(--ibs-aux-color,#3b5b9a);
}

/* v1.8.8.4: Text der Checkliste exakt linksbuendig, Haken im linken Gutter */
.ibs-card .ibs-list{margin:0;padding:0;list-style:none}
.ibs-card .ibs-list li{
  position:relative;
  padding:8px 0;             /* kein linker Einzug */
  border-bottom:1px solid #e5e7eb;
  line-height:var(--ibs-list-lh,1.5);
}
.ibs-card .ibs-list li::before{
  content:"✓";
  position:absolute;
  left:-20px;                /* Haken in den linken Gutter schieben */
  top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;line-height:16px;
  text-align:center;font-weight:700;
  color:var(--ibs-aux-color,#3b5b9a);
}
@media (max-width: 480px){
  .ibs-card .ibs-list li::before{ left:-18px; }
}

/* v1.8.8.5: gleicher Randabstand der Pfeile */
.ibs-slider{position:relative}
.ibs-slider .ibs-nav{position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none}
.ibs-slider .ibs-prev,
.ibs-slider .ibs-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
  margin:0;
}
.ibs-slider .ibs-prev{ left:12px; }
.ibs-slider .ibs-next{ right:12px; }

/* v1.8.8.6: Pfeile sauber links/rechts mit gleichem Abstand */
.ibs-slider{position:relative}
.ibs-slider .ibs-prev,
.ibs-slider .ibs-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
}
.ibs-slider .ibs-prev{ left:12px; }
.ibs-slider .ibs-next{ right:12px; }

/* v1.8.8.7: Pfeile normal links/rechts mit gleichem Abstand, erzwungen */
.ibs-slider{position:relative}
.ibs-slider .ibs-prev,
.ibs-slider .ibs-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
}
.ibs-slider .ibs-prev{
  left:12px !important;
  right:auto !important;
}
.ibs-slider .ibs-next{
  right:12px !important;
  left:auto !important;
}

/* v1.8.8.9 override: list font size from admin */
.ibs-card .ibs-list li{
  font-size: var(--ibs-list-size, var(--ibs-text-size, 15px)) !important;
}

/* v1.8.9.0 list size */
.ibs-card .ibs-list li{
  font-size: var(--ibs-list-size, var(--ibs-text-size, 15px)) !important;
}
