/* Timsali Referenz Slider – Divi Module Styles */
.timsali-swiper-wrap { --ts-gap: 18px; --ts-info: 38%; --ts-grid: 62%; --ts-peek: 40px; position: relative; }
.timsali-swiper { overflow: visible; padding-block: 8px 28px; }
.timsali-swiper .swiper-wrapper { align-items: stretch; }
.timsali-swiper .swiper-slide { width: min(1100px, 92vw); }

.ts-slide-card {
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  padding:clamp(14px, 2vw, 22px);
  display:grid; grid-template-columns: var(--ts-info) var(--ts-grid);
  gap: var(--ts-gap); min-height:420px; position:relative;
}
.ts-slide-card.has-bg { background-size:cover; background-position:center; }
.ts-slide-card.has-bg::after {
  content:""; position:absolute; inset:0; border-radius:16px;
  background: linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.92));
  pointer-events:none;
}
.ts-slide-inner { position:relative; z-index:1; display:contents; }

.ts-info {
  display:flex; flex-direction:column; align-items:center;
  padding: clamp(8px, 1.5vw, 12px); border-radius:12px; background:#fff;
}
.ts-logo-wrap { width:120px; height:120px; border-radius:16px; border:1px solid #eee; display:grid; place-items:center; overflow:hidden; background:#fafafa; margin-bottom:10px; }
.ts-logo-wrap img { width:100%; height:100%; object-fit:contain; }

.ts-company { font-weight:700; margin-top:4px; text-align:center; }
.ts-stars { display:flex; gap:4px; margin: 6px 0 10px; color:#111; }
.ts-review { font-size:14px; color:#333; line-height:1.5; text-align:center; max-width:38ch; }
.ts-person { margin-top:8px; font-size:13px; color:#666; }

.ts-right { display:flex; flex-direction:column; }
.ts-grid {
  display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr;
  gap: var(--ts-gap); align-content:start;
}
.ts-grid .tile { position:relative; aspect-ratio:1/1; border-radius:12px; overflow:hidden; background:#eaeaea; border:1px solid rgba(0,0,0,.06); cursor:zoom-in; transition:transform .2s ease; }
.ts-grid .tile:hover { transform: translateY(-2px); }
.ts-grid .tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ts-grid.grid-big-first .tile-big { grid-column: span 2; grid-row: span 2; }

.ts-cta-wrap { display:flex; justify-content:flex-end; margin-top:auto; }
.ts-cta { /* Divi Button styles hook via class */ }

/* Swiper nav + dots */
.timsali-swiper .swiper-button-prev, .timsali-swiper .swiper-button-next { color:#111; top: 50%; }
.timsali-swiper .swiper-pagination-bullets .swiper-pagination-bullet { opacity:.4; }
.timsali-swiper .swiper-pagination-bullet-active { opacity:1; }

/* Responsive */
@media (max-width: 1100px) { .timsali-swiper .swiper-slide { width: 92vw; } }
@media (max-width: 920px){
  .ts-slide-card{ grid-template-columns: 1fr; }
  .ts-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 620px){
  .ts-grid{ grid-template-columns: repeat(2, 1fr); }
  .timsali-swiper .swiper-slide { width: 90vw; }
}
