/* Dejna Google Reviews Slider (v1.0.4)
   - „... czytaj więcej” zawsze w następnej linii, tą samą czcionką co opinia
     * gdy tekst ucięty -> otwiera modal
     * gdy krótki -> link do Google (jeśli włączone)
*/
.djgr{
  --djgr-bg:#fff; --djgr-fg:#111;
  --djgr-border:rgba(0,0,0,.10);
  --djgr-muted:rgba(0,0,0,.68);
  --djgr-accent:#111; --djgr-accent-contrast:#fff;
  --djgr-shadow:0 10px 24px rgba(0,0,0,.08);

  --djgr-card-bg:#f5f5f5;
  --djgr-text-max:92px;

  font:inherit;
  color:var(--djgr-fg);
  background:var(--djgr-bg);
  border:1px solid var(--djgr-border);
  border-radius:16px;
  padding:18px 18px 14px;
  width:100%;
  margin:22px 0;
  box-shadow:var(--djgr-shadow);
}
.djgr--dark{
  --djgr-bg:#0f0f10; --djgr-fg:#f2f2f2;
  --djgr-border:rgba(255,255,255,.14);
  --djgr-muted:rgba(255,255,255,.72);
  --djgr-accent:#ffffff; --djgr-accent-contrast:#111;
  --djgr-shadow:0 12px 26px rgba(0,0,0,.35);
  --djgr-card-bg:rgba(255,255,255,.06);
}
.djgr__title{font-size:18px;font-weight:700;margin:0 0 12px;letter-spacing:.2px}
.djgr__track{position:relative;overflow:hidden}
.djgr__card{
  display:none; line-height:1.45;
  padding:14px; border-radius:14px;
  background:var(--djgr-card-bg);
  border:1px solid rgba(0,0,0,.06);
}
.djgr--dark .djgr__card{border-color:rgba(255,255,255,.10)}
.djgr__card.is-active{display:block}
.djgr__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.djgr__author{display:flex;gap:10px;align-items:center;min-width:0}
.djgr__avatar{
  width:42px;height:42px;border-radius:999px;
  object-fit:cover;flex:0 0 auto;
  border:1px solid var(--djgr-border);
  background:#fff;
}
.djgr__authorText{min-width:0}
.djgr__name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.djgr__time{font-size:12px;color:var(--djgr-muted)}
.djgr__stars{font-size:14px;letter-spacing:1px;white-space:nowrap;opacity:.95;margin-top:2px}

.djgr__text{
  margin-top:10px;
  font-size:14px;
  color:var(--djgr-fg);
  opacity:.95;
  max-height:var(--djgr-text-max);
  min-height:var(--djgr-text-max);
  overflow:hidden;
}

/* „... czytaj więcej” – ta sama czcionka co opinia */
.djgr__more{
  display:none;           /* JS przełącza */
  margin-top:6px;         /* następna linia */
  font-size:14px;         /* jak opinia */
  line-height:1.45;
  color:var(--djgr-fg);
  opacity:.95;
  padding:0;
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
  text-decoration:none;
}
a.djgr__more{cursor:pointer}
.djgr__more:hover{opacity:1; text-decoration:underline; text-underline-offset:3px}
.djgr__more:focus{outline:2px solid rgba(0,0,0,.22); outline-offset:2px}
.djgr--dark .djgr__more:focus{outline-color:rgba(255,255,255,.25)}

.djgr__nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}
.djgr__btn{
  width:38px;height:38px;border-radius:12px;
  border:1px solid var(--djgr-border);
  background:var(--djgr-accent);
  color:var(--djgr-accent-contrast);
  cursor:pointer;font-size:18px;line-height:1;
  transition:transform .08s ease, opacity .12s ease;
}
.djgr__btn:hover{opacity:.92}
.djgr__btn:active{transform:scale(.98)}
.djgr__btn:focus{outline:2px solid rgba(0,0,0,.22); outline-offset:2px}
.djgr--dark .djgr__btn:focus{outline-color:rgba(255,255,255,.25)}
.djgr__dots{display:flex;gap:7px;align-items:center}
.djgr__dot{width:8px;height:8px;border-radius:999px;background:rgba(0,0,0,.22);cursor:pointer;transition:opacity .12s ease}
.djgr__dot:hover{opacity:.85}
.djgr__dot.is-active{background:rgba(0,0,0,.72)}
.djgr--dark .djgr__dot{background:rgba(255,255,255,.24)}
.djgr--dark .djgr__dot.is-active{background:rgba(255,255,255,.78)}
.djgr__footer{margin-top:10px;display:flex;justify-content:flex-end}
.djgr__link{
  color:var(--djgr-fg);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
  opacity:.9;
}
.djgr__link:hover{opacity:1}

.djgr-error,.djgr-empty{
  padding:12px 14px;border-radius:14px;border:1px dashed var(--djgr-border);
  background:rgba(0,0,0,.02);
}
.djgr--dark .djgr-error,.djgr--dark .djgr-empty{background:rgba(255,255,255,.04)}

/* Modal */
.djgrModal{position:fixed;inset:0;z-index:99999;display:none}
.djgrModal.is-open{display:block}
.djgrModal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.djgrModal__dialog{
  position:relative;
  max-width:720px;
  margin:6vh auto;
  background:var(--djgr-bg);
  color:var(--djgr-fg);
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  border:1px solid var(--djgr-border);
  padding:18px;
}
.djgrModal__close{
  position:absolute;top:10px;right:12px;
  width:38px;height:38px;border-radius:12px;
  border:1px solid var(--djgr-border);
  background:transparent;
  cursor:pointer;font-size:22px;line-height:1;
  color:var(--djgr-fg);
}
.djgrModal__head{display:flex;align-items:center;gap:12px;padding-right:48px}
.djgrModal__avatar{width:44px;height:44px;border-radius:999px;border:1px solid var(--djgr-border);object-fit:cover;background:#fff}
.djgrModal__name{font-weight:800}
.djgrModal__time{font-size:12px;color:var(--djgr-muted)}
.djgrModal__stars{margin-left:auto;font-size:14px;letter-spacing:1px;opacity:.95;white-space:nowrap}
.djgrModal__text{
  margin-top:14px;
  white-space:pre-wrap;
  line-height:1.55;
  font-size:15px;
}
.djgrModal__actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
}
.djgrModal__google{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  background:var(--djgr-accent);
  color:var(--djgr-accent-contrast);
  text-decoration:none;
  font-weight:800;
  border:1px solid var(--djgr-border);
}
.djgrModal__google:hover{opacity:.92}
html.djgrModalOpen{overflow:hidden}

@media (max-width: 520px){
  .djgr{padding:16px 14px 12px;border-radius:14px}
  .djgr__name{max-width:220px}
  .djgrModal__dialog{margin:4vh 12px}
}