#sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 90;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 1.2rem 1.6rem calc(1.2rem + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.96);
  border-top: 1px solid hsl(28, 25%, 88%);
  transform: translateY(100%);
  transition: transform .25s ease;
}
#sticky-cta.visible { transform: translateY(0); }

#sticky-cta .btn-primary {
  margin: 0;              /* prebije margin-top a margin-right:auto z globalu */
  flex: 1;
  max-width: 30rem;       /* nech sa neroztiahne cez celú šírku */
  padding: 1.4rem 2rem;   /* nižší profil pre lištu */
}

#sticky-cta .cta-phone {
  flex: none;
  width: 4.8rem; height: 4.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;                  /* rovnaký radius ako btn-primary */
  background: hsl(28, 45%, 85%);       /* rovnaká béžová */
  color: hsl(0, 0%, 36%);              /* farba ikony = farba textu webu */
  transition: all .3s ease;
}
#sticky-cta .cta-phone:hover { background: hsl(28, 45%, 75%); }

@media (max-width: 768px) { #sticky-cta { display: flex; } }

.reviews {     position: relative;
    display: flex;
    
    align-items: center;
text-align: center; padding-left: 2rem; padding-right: 2rem; }
.reviews .heading-terciary { margin-bottom: .8rem; }
.reviews__rating { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-bottom: 3.2rem; }
.reviews__stars { color: hsl(28, 45%, 65%); font-size: 1.5rem; letter-spacing: .3rem; }
.reviews__meta { font-size: 1.3rem; color: hsl(0, 0%, 45%); }

.reviews__track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem; text-align: left; }

.review {
margin: 0;
padding: 3.6rem 3.2rem;
  background: hsl(28, 45%, 97%);
  border-radius: 4px;
}
.review p {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 1.9rem;
  line-height: 1.65;
  color: hsl(0, 0%, 22%);
  margin: 0 0 1.6rem;
}
.review cite { font-style: normal; font-size: 1.3rem; color: hsl(0, 0%, 42%); }

.reviews__dots { display: none; justify-content: center; gap: .7rem; margin-top: 2rem; }
.reviews__dots button { width: .7rem; height: .7rem; padding: 0; border: none; border-radius: 50%; background: hsl(28, 25%, 88%); cursor: pointer; transition: background .3s ease; }
.reviews__dots button[aria-current="true"] { background: hsl(28, 45%, 65%); }

.reviews__cta { display: flex; justify-content: center; margin-top: 3.2rem; }
.reviews__cta .btn-secondary { margin: 0; }

@media (max-width: 1100px) {
  .reviews { padding-left: 3rem; padding-right: 3rem; }
  .reviews__track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .reviews__track .review:nth-child(3) { display: none; }
  .review { padding: 3.2rem 2.8rem; }
}

@media (max-width: 768px) {

 .reviews {
    display: block;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
  }

  .reviews .heading-terciary { font-size: 2.6rem; }

  .reviews .reviews__track {
    display: flex !important;
    grid-template-columns: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0 2.4rem;
    gap: 1.6rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 2.4rem;
    touch-action: pan-x;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .reviews .reviews__track::-webkit-scrollbar { display: none; }

  .reviews .reviews__track .review {
    display: block;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    width: calc(100vw - 4.8rem) !important;
    max-width: 42rem;
    box-sizing: border-box;
    padding: 3rem 2.6rem;
    scroll-snap-align: center;
  }
  .reviews .reviews__track .review:nth-child(3) { display: block; }

  .reviews .review p { font-size: 1.8rem; }

  .reviews__dots { display: flex; }
}