/* =========================================================
   VTEAMDESIGN - ÜGYFELEINK AJÁNLÁSA BLOKK
   Egységes magasságú testimonial kártyák
   Függőlegesen középre igazított tartalom
   Finom árnyékkal
   Bal-jobb nyilak azonos távolságra igazítva
   A meglévő éles oldali nyíl design megtartásával
========================================================= */

/* Teljes slider terület */
.testimonial-carousel {
  position: relative;
  width: 100%;
  padding: 20px 96px 0;
  box-sizing: border-box;
}

/* Slick alap igazítás */
.testimonial-carousel .slick-list {
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.testimonial-carousel .slick-track {
  display: flex !important;
  align-items: stretch !important;
}

.testimonial-carousel .slick-slide {
  height: auto !important;
}

.testimonial-carousel .slick-slide > div {
  height: 100%;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Minden ajánlás azonos magasságú legyen */
.testimonial-carousel blockquote {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  min-height: 390px;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Régi ferde/buborék háttér kikapcsolása */
.testimonial-carousel .box__bg,
.testimonial-carousel .box--bubble::before,
.testimonial-carousel .box--bubble::after,
.testimonial-carousel .box::before,
.testimonial-carousel .box::after {
  display: none !important;
  content: none !important;
}

/* Fő kártya */
.testimonial-carousel .box,
.testimonial-carousel .box.box--light,
.testimonial-carousel .box.box--bubble,
.testimonial-carousel .box.box--light.box--bubble {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  width: 100%;
  min-height: 260px;
  height: 260px;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(236, 167, 33, 0.22) !important;
  border-radius: 26px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035) !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

/* Hover árnyék is maradjon visszafogott */
.testimonial-carousel .box:hover,
.testimonial-carousel .box.box--light:hover,
.testimonial-carousel .box.box--bubble:hover,
.testimonial-carousel .box.box--light.box--bubble:hover {
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.045) !important;
}

/* Belső szöveg függőleges középre */
.testimonial-carousel .box__inner {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 260px;
  padding: 44px 54px 40px 64px !important;
  background: transparent !important;
  color: #262626 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  text-align: left;
}

/* Idézőjel finoman */
.testimonial-carousel .box__inner::before {
  content: "”" !important;
  display: block !important;
  position: absolute;
  left: 28px;
  top: 22px;
  font-family: Georgia, serif;
  font-size: 70px;
  line-height: 1;
  color: rgba(236, 167, 33, 0.24);
  font-weight: 700;
  pointer-events: none;
}

/* Felső sárga jelzés */
.testimonial-carousel .box__inner::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 54px;
  top: 0;
  width: 110px;
  height: 5px;
  background: #eca721;
  border-radius: 0 0 10px 10px;
}

/* Szöveg egységesítése */
.testimonial-carousel .box__inner p {
  width: 100%;
  margin: 0 !important;
  color: #262626 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* Ha nem p-ben van a szöveg, akkor is egységes legyen */
.testimonial-carousel .box__inner {
  color: #262626 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* Név és cégnév rész */
.testimonial-carousel cite {
  display: block !important;
  position: relative;
  min-height: 86px;
  margin: 24px 0 0 0 !important;
  padding: 0 0 0 52px !important;
  font-style: normal !important;
  color: #5f5f5f !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-sizing: border-box;
}

/* Sárga pötty a név mellett */
.testimonial-carousel cite::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 8px;
  width: 12px;
  height: 12px;
  background: #eca721;
  border-radius: 50%;
}

/* Név */
.testimonial-carousel cite span {
  display: block !important;
  margin: 0 0 5px 0 !important;
  color: #262626 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* =========================================================
   NYILAK - meglévő design megtartása, csak pozíció javítása
========================================================= */

/* Bal nyíl */
.testimonial-carousel.arrow--out .slick-prev,
.testimonial-carousel .slick-prev {
  left: 24px !important;
  right: auto !important;
}

/* Jobb nyíl */
.testimonial-carousel.arrow--out .slick-next,
.testimonial-carousel .slick-next {
  right: 24px !important;
  left: auto !important;
}

/* Függőleges középre igazítás */
.testimonial-carousel.arrow--out .slick-arrow,
.testimonial-carousel .slick-arrow {
  top: 50% !important;
  margin-top: 0 !important;
  transform: translateY(-50%) !important;
}

/* A meglévő ikon-designhoz nem nyúlunk */
.testimonial-carousel .slick-arrow::before,
.testimonial-carousel .slick-arrow::after,
.arrow--out .slick-arrow::before,
.arrow--out .slick-arrow::after {
  /* Szándékosan üres: a jelenlegi éles oldali nyíl design marad */
}

/* Slider pontok, ha vannak */
.testimonial-carousel .slick-dots {
  position: relative;
  bottom: auto;
  margin: 30px 0 0;
  padding: 0;
  text-align: center;
}

.testimonial-carousel .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 5px;
}

.testimonial-carousel .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(38, 38, 38, 0.18);
  border-radius: 50%;
}

.testimonial-carousel .slick-dots li button::before {
  display: none;
}

.testimonial-carousel .slick-dots li.slick-active button {
  background: #eca721;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .testimonial-carousel {
    max-width: 900px;
    padding: 20px 78px 0;
  }

  .testimonial-carousel blockquote {
    min-height: 380px;
    padding: 0 !important;
  }

  .testimonial-carousel .box,
  .testimonial-carousel .box.box--light,
  .testimonial-carousel .box.box--bubble,
  .testimonial-carousel .box.box--light.box--bubble {
    min-height: 250px;
    height: 250px;
  }

  .testimonial-carousel .box__inner {
    min-height: 250px;
    padding: 38px 42px 36px 58px !important;
  }

  .testimonial-carousel .box__inner p,
  .testimonial-carousel .box__inner {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .testimonial-carousel cite {
    padding-left: 46px !important;
  }

  .testimonial-carousel cite::before {
    left: 24px;
  }

  .testimonial-carousel cite span {
    font-size: 20px !important;
  }

  .testimonial-carousel.arrow--out .slick-prev,
  .testimonial-carousel .slick-prev {
    left: 18px !important;
  }

  .testimonial-carousel.arrow--out .slick-next,
  .testimonial-carousel .slick-next {
    right: 18px !important;
  }
}

/* =========================================================
   MOBIL
========================================================= */

@media (max-width: 767px) {
  .testimonial-carousel {
    max-width: 100%;
    padding: 10px 56px 0;
  }

  .testimonial-carousel blockquote {
    min-height: auto;
    padding: 0 !important;
  }

  .testimonial-carousel .box,
  .testimonial-carousel .box.box--light,
  .testimonial-carousel .box.box--bubble,
  .testimonial-carousel .box.box--light.box--bubble {
    min-height: 240px;
    height: auto;
  }

  .testimonial-carousel .box__inner {
    min-height: 240px;
    padding: 34px 28px 32px 42px !important;
  }

  .testimonial-carousel .box__inner::before {
    left: 18px;
    top: 18px;
    font-size: 56px;
  }

  .testimonial-carousel .box__inner::after {
    left: 42px;
    width: 86px;
  }

  .testimonial-carousel .box__inner p,
  .testimonial-carousel .box__inner {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .testimonial-carousel cite {
    min-height: auto;
    margin-top: 20px !important;
    padding-left: 32px !important;
    font-size: 13px !important;
  }

  .testimonial-carousel cite::before {
    left: 8px;
    top: 6px;
    width: 11px;
    height: 11px;
  }

  .testimonial-carousel cite span {
    font-size: 18px !important;
  }

  .testimonial-carousel.arrow--out .slick-prev,
  .testimonial-carousel .slick-prev {
    left: 0 !important;
  }

  .testimonial-carousel.arrow--out .slick-next,
  .testimonial-carousel .slick-next {
    right: 0 !important;
  }
}

.masonry.no-gutters > .masonry__item {
  padding: 6px;
  background: #fff;
}

@media screen and (max-width: 1199px) {
  .masonry.no-gutters > .masonry__item.is-col-left {
    padding-left: 12px;
  }

  .masonry.no-gutters > .masonry__item.is-col-right {
    padding-right: 12px;
  }
}

@media screen and (min-width: 1200px) {
  .masonry.no-gutters {
    width: calc(100% - 12px);
    margin-left: 6px;
    margin-right: 6px;
  }
}

@media (max-width: 480px) {
  .testimonial-carousel {
    padding: 0 46px;
  }

  .testimonial-carousel .box__inner {
    min-height: 230px;
    padding: 32px 22px 30px 36px !important;
  }

  .testimonial-carousel .box__inner p,
  .testimonial-carousel .box__inner {
    font-size: 14.5px !important;
  }
}

/* Mobil fejléc: csak a logó kisebb, a gomb a menü ikon bal oldalán marad. */
@media screen and (max-width: 991px) {
  .header-left {
    min-width: 0;
    margin-right: 10px;
  }

  .header__logo {
    display: block;
    height: auto;
    max-width: 118px;
  }

  .header__logo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 36px;
  }

  .header-right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;
  }

  .header__cta {
    white-space: nowrap;
    font-size: 14px;
  }
}