:root {
  --rf-green: #98cb2b;
  --rf-gray: #bdbdbd;
  --rf-text: #777;
  --rf-muted: #222;
}

/* řádkování obsahu -> použijeme pro velikost šipek */
.rf-ref {
  --rf-lh: 1.8em;
  margin: 0 auto;
  padding: 24px 16px;
  text-align: center;
}

.rf-ref .rf-quote {
  font-size: 18px;
  line-height: var(--rf-lh);
  color: var(--rf-text);
  margin: 0 0 40px;
  padding: 0 90px;
  font-style: normal;
}

.rf-ref .rf-name {
  font-weight: 700;
  font-size: 24px;
  color: #000;
  margin-top: 10px;
}

.rf-ref .rf-role {
  color: var(--rf-muted);
  font-size: 16px;
  margin-top: 4px;
}

.rf-ref .swiper{
    
}

/* Tečky */
.rf-ref .swiper-pagination{
    position: absolute;
    bottom: 0;
}
.rf-ref .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  border: 2px solid var(--rf-green);
  border-radius: 50%;
  background: transparent;
  opacity: 1;
}
.rf-ref .swiper-pagination-bullet-active {
  background: var(--rf-green);
}

/* Swiper – bez „peeku“ dalších slidek */
.rf-ref .swiper {
  position: relative;
  padding: 0;
  overflow: hidden; /* schovej cokoli mimo box */
  padding-bottom: 60px;
}

/* Navigace – inline SVG, bez rámečku; velikost ≈ 2.5× řádkování obsahu */
.rf-ref .rf-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  height: 70px;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 5;
  color: var(--rf-gray);
}
.rf-ref .rf-prev { left: 8px; }
.rf-ref .rf-next { right: 8px; }
.rf-ref .rf-icon {
  width: 100%;
  height: 100%;
  display: block;
}
.rf-ref .rf-nav:hover {
  color: var(--rf-green);
}
/* pro jistotu vypnout focus outline pro myš, ale ponechat pro klávesnici */
.rf-ref .rf-nav:focus-visible { outline: 2px solid var(--rf-green); outline-offset: 2px; }

/* Bez levé čáry u blockquote */
.rf-ref blockquote {
  border: 0;
  padding: 0;
}

/* ===========================
   Responsive / Mobile tuning
   =========================== */

/* ZÁKLAD (desktop) – už máš, jen připomenutí klíčových věcí */
.rf-ref .swiper { position: relative; padding: 0; overflow: hidden; }

/* Tečky – o fous větší pro dotyk */
.rf-ref .swiper-pagination { position: static; margin-top: 12px; }
.rf-ref .swiper-pagination-bullet { width: 12px; height: 12px; }

/* Focus a klávesnice */
.rf-ref .rf-nav:focus-visible { outline: 2px solid var(--rf-green); outline-offset: 2px; }

/* --------- do 640px (MOBILE) --------- */
@media (max-width: 640px) {
  .rf-ref {
    max-width: 100%;
    padding: 20px 12px;
  }

  .rf-ref .rf-quote {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 16px;
    text-align: left; 
    padding: 0;/* na mobilu se text často čte lépe vlevo */
  }
  .rf-ref .rf-name { font-size: 18px; text-align: left; }
  .rf-ref .rf-role { font-size: 12px; text-align: left; }

  /* ŠIPKY: přemístit POD obsah, centrovat horizontálně vedle sebe */
  .rf-ref .rf-prev,
  .rf-ref .rf-next {
    position: static;              /* odpojit z absolute */
    transform: none;
    width: 28px;                   /* vizuální velikost šipky */
    height: 56px;                  /* poměr 1:2 zachován */
    color: var(--rf-gray);
  }

  /* Wrapper pro šipky – flex container */
  .rf-ref .rf-arrows {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 12px;
    touch-action: manipulation;
  }

  /* Zvýšit tap-zónu bez zvětšení samotné ikony */
  .rf-ref .rf-nav {
    padding: 6px 10px;
  }

  /* Tečky větší a níž od textu */
  .rf-ref .swiper-pagination {
    margin-top: 20px;
  }
  .rf-ref .swiper-pagination-bullet { width: 12px; height: 12px; }

  /* Vypnout jakékoli vnější okraje figure */
  .rf-ref .swiper-slide figure { margin: 0; }
}

/* --------- 641–1024px (TABLET) --------- */
@media (min-width: 641px) and (max-width: 1024px) {
  .rf-ref { padding: 24px 20px; }
  .rf-ref .rf-quote { font-size: 16px; line-height: 1.8; padding: 0;}
  .rf-ref .rf-name { font-size: 19px; }
  .rf-ref .rf-role { font-size: 13px; }

  /* Šipky mohou zůstat po stranách, ale menší než na desktopu */
  .rf-ref .rf-prev,
  .rf-ref .rf-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 60px;
  }
  .rf-ref .rf-prev { left: 6px; }
  .rf-ref .rf-next { right: 6px; }
}

/* --------- >1024px (DESKTOP) – jemné dorovnání --------- */
@media (min-width: 1025px) {
  .rf-ref .rf-prev { left: 8px; }
  .rf-ref .rf-next { right: 8px; }
}

/* Preferuje-li uživatel méně pohybu, omezíme animace Swiperu */
@media (prefers-reduced-motion: reduce) {
  .rf-ref .swiper,
  .rf-ref .swiper * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Default: zobraz šipky po stranách, wrapper skryj */
.rf-ref .rf-arrows { display: none; }

@media (max-width: 640px) {
  /* Mobile: skryj postranní šipky uvnitř .swiper, zobraz wrapper dole */
  .rf-ref .swiper > .rf-prev,
  .rf-ref .swiper > .rf-next { display: none; }
  .rf-ref .rf-arrows { display: none; }
}
