/* ------------------------- */
/* MAIN LAYOUT STRUCTURE     */
/* ------------------------- */

.clients-wrapper{
  position:relative; 
}
.clients-items-wrapper{
  display:flex; 
  gap:20px;
}
.clients-items-wrapper .clients-row-wrapper{
  width:20%;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.clients-items-wrapper .clients-row-wrapper:nth-child(2),
.clients-items-wrapper .clients-row-wrapper:nth-child(4){
  margin-top:80px;
}

.clients-wrapper .title-zone{
  text-align:center; 
  padding:40px;
  width:60%;
  position:absolute;
  top: 430px;
  max-width: 684px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index:1;
}
.clients-wrapper .title-zone h1{
  line-height:1;
  margin-bottom:20px;
}
.clients-wrapper .title-zone [data-hs-cos-field="text_field"]{
  margin-bottom:20px; 
  font-size:24px;
  line-height:1.2;
  letter-spacing:-0.5px;
}
.clients-wrapper .title-zone [data-hs-cos-field="text_field"]>*:last-child{
  margin-bottom:0; 
}

/* ------------------------- */
/* CLIENT ITEMS              */
/* ------------------------- */

.clients-items-wrapper .client-single-item{
  text-decoration:none;
  min-height:320px;
  display:flex;
  perspective: 1000px;
}

.clients-items-wrapper .clients-row-wrapper:nth-child(3) .client-single-item:nth-child(2){
  margin-bottom:150px;
}

/* ---- FRONT & BACK ---- */

.clients-items-wrapper .client-single-item .front-side,
.clients-items-wrapper .client-single-item .back-side{
  overflow: hidden;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  backface-visibility:hidden;
  transition:transform 0.6s ease;
  transform-style:preserve-3d;
}

/* ---- FRONT ---- */

.clients-items-wrapper .client-single-item .front-side{
  padding:20px; 
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100%;
  height:100%;
  z-index:2;
  background:var(--color-dark-beige);
  transform:rotateY(0deg);
}
.clients-items-wrapper .client-single-item .front-side.nopadding{
  padding:0; 
}
.clients-items-wrapper .client-single-item > a{
  width:100%;
  height:100%;
}

.clients-items-wrapper .client-single-item .link-arrow{
  position:absolute;
  right:16px;
  top:16px;
}

.clients-items-wrapper .client-single-item .client-logo{
  max-width:172px !important;
  height:auto;
} 

/* ---- BACK ---- */

.clients-items-wrapper .client-single-item .back-side{
  width:100%;
  height:100%; 
  z-index:1;
  background:var(--color-dark-beige);
  transform:rotateY(180deg);
  padding:20px; 
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.clients-items-wrapper .client-single-item .front-side .client-logo{
  position:absolute;
  top:20px;
  left:20px;
}

/* ---- FLIP ---- */

.clients-items-wrapper .client-single-item:hover .active .front-side{
  transform:rotateY(-180deg);
}
.clients-items-wrapper .client-single-item:hover .active .back-side{
  transform:rotateY(0deg);
}

/* ---- TAGS ---- */

.clients-items-wrapper .client-single-item .tags-wrapper{
  display:flex; 
  flex-direction:column;
  gap:4px;
}
.clients-items-wrapper .client-single-item .tags-wrapper .tag-name{
  padding:8px 16px;
  color:#000;
  width:fit-content;
  background:var(--color-light-beige);
  font-size:16px;
  line-height:1.3;
}

/* ------------------------- */
/* POPUP (FADE IN / OUT)     */
/* ------------------------- */

/* always in DOM to allow transitions */
.client-popup {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99900;

  /* hidden by default via opacity */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

/* visible */
.client-popup.popup-visible {
  opacity: 1;
  pointer-events: auto;
}

/* backdrop */
.client-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(208, 203, 195, 0.89);
  backdrop-filter: blur(4.9px);
  cursor: pointer;
}

/* content animation */
.client-popup-content {
  max-width: 1200px;
  width: 90vw;
  z-index: 99901;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: radial-gradient(76.22% 138.14% at 92.58% 146.75%, #FECBB1 0%, #FFFDFA 100%);
  padding: 0;

  /* entrance animation */
  transform: translateY(18px) scale(0.99);
  opacity: 0;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

/* visible state animation */
.client-popup.popup-visible .client-popup-content {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.client-popup-content .client-popup-content-inner{
  padding:40px;
  display:flex;
  flex-direction:column;
  gap:40px;
  width:100%;
}

/* bottom part */

.client-popup-content .client-popup-content-inner .client-bottom-part{
  display:flex; 
  justify-content: space-between;
}

.client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.author_name"]{
  font-size:24px; 
  font-weight:600;
  color:#FC5E32;
  line-height:1;
}

.client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.text"]>*{
  font-size:20px; 
  line-height:1.2;
}

.client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.text"]>:first-child:before {
  color: #fc5e32;
  content: "// ";
}

.client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.text"]>:last-child:after {
  color: #fc5e32;
  content: " //";
}

.client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.text"]>*:last-child{
  margin-bottom:0; 
}

/* CLOSE BUTTON (optional if added) */
.client-popup-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 28px;
  cursor: pointer;
}

.clients-row-wrapper .lines-wrapper{
  min-height: 73px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  height:100%;
}

.clients-row-wrapper .gradient-dot {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle,
    rgba(241,214,214,1) 0%,
    rgba(241,214,214,0.6) 40%,
    rgba(240,235,227,0.1) 70%,
    rgba(240,235,227,0) 100%
  );
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  z-index: -1;
  will-change: transform;
}

.clients-items-wrapper.mobile-version{
  display:none; 
}
.clients-items-wrapper .client-single-item .client-bg{
  height:100% !important;
  object-fit:cover;
}
.client-popup .client-popup-content .bars-large{
  height:80px;
  display:flex;
  justify-content:space-between;
  width:100%;
  flex-direction:row-reverse;
}
.client-popup .client-popup-content .bars-large>div{
  height:100%; 
}
@media (max-width: 1199px) {
  .clients-items-wrapper.desktop-version{
    display:none;
  }
  .clients-items-wrapper.mobile-version{
    display:flex; 
  }
  .clients-items-wrapper{
    flex-wrap:wrap; 
  }
  .clients-wrapper .title-zone{
    position:unset; 
    width:100%;
  }
  .clients-items-wrapper .clients-row-wrapper{
    width: 100%;
    flex-direction:row;
    flex-wrap:wrap;
  }
  .clients-items-wrapper .client-single-item{
    width:calc(100% / 4 - 15px);
  }
  .clients-items-wrapper .client-single-item.empty-cell{
    display:none;
  }
  .clients-items-wrapper .clients-row-wrapper:nth-child(2), .clients-items-wrapper .clients-row-wrapper:nth-child(4){
    margin-top:0; 
  }
  .clients-row-wrapper .lines-wrapper{
    width:100%; 
    height:auto;
    min-height:80px;
  }
}
@media (max-width: 991px) {
  .carbon-mode-light .clients-items-wrapper .client-single-item .front-side .client-logo{
    position:unset; 
  }
  .clients-items-wrapper .client-single-item .client-logo{
    transform: scale(0.7);
    transform-origin: top left;
  }
  .clients-items-wrapper .client-single-item .front-side{
    padding:20px 16px; 
  }
  .clients-row-wrapper .gradient-dot{
    display:none;
  }
  .clients-wrapper .title-zone{
    padding:26px 30px;
  }
  .clients-items-wrapper .client-single-item{
    width:calc(100% / 3 - 14px); 
  }
  .clients-wrapper .title-zone [data-hs-cos-field="text_field"]{
    font-size:16px; 
  }
}
@media (max-width: 767px) {
  .clients-items-wrapper .client-single-item .front-side .link-arrow{
    position:unset;
    display:block;
    margin-bottom:12px;
  }
  .clients-items-wrapper .clients-row-wrapper{
    gap:8px; 
  }
  .clients-items-wrapper .client-single-item{
    width:calc(100% / 2 - 4px); 
    min-height:290px;
  }
  .clients-wrapper .title-zone .button{
    font-size:14px; 
    padding:8px 16px;
  }
  .client-popup-content{
    max-height: 80vh; 
  }
  .client-popup-content .client-popup-content-inner{
    overflow: scroll;
    max-height: 70vh;
    padding:20px;
    gap:20px;
  }
  .client-popup-content .client-popup-content-inner .client-bottom-part{
    flex-direction:column;
    gap:20px;
  }
  .client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.author_name"]{
    font-size:20px; 
  }
  .client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.author_role"]{
    font-size:16px;
  }
  .client-popup-content .client-popup-content-inner .client-bottom-part .button{
    font-size: 14px;
    padding: 8px 16px;
  }
  .client-popup-content .client-popup-content-inner [data-hs-cos-field="quote_content.text"]>*{
    font-size:16px; 
  }
}
@media (max-width: 568px) {
    .clients-items-wrapper .client-single-item .tags-wrapper .tag-name{
      padding:8px;
      font-size:14px;
    }
  }
}