/* ==========================================================================
   BLOCK: CONTACT GRID
   ========================================================================== */

.c-contact-grid {
  position: relative;
  z-index: 1;
  background-color: var(--bg-out);
  margin: var(--mar-out-d);
  padding: var(--pad-out-d);
  width: 100%;
}

.c-contact-grid--bg-always,
.c-contact-grid--bg-desktop {
  background: var(--bg-out);
}

.c-contact-grid__max-width {
  max-width: var(--max-w, 1440px);
  margin: 0 auto;
}

.c-contact-grid__wrap {
  display: grid;
  grid-template-columns: var(--grid-h-d, 1fr 3fr);
  gap: var(--gap-h-d);
  align-items: flex-start;
}

.c-contact-grid__wrap[class*="col-start-auto"] {
  margin-left: auto;
  margin-right: auto;
}

/* --------------------------------------------------------------------------
   TÍTOL GLOBAL
   -------------------------------------------------------------------------- */
.c-contact-grid__titol {
  order: var(--o-tit-d, 1);
  font-family: var(--ff-tit);
  font-size: var(--fs-tit-d);
  font-weight: var(--fw-tit);
  line-height: var(--lh-tit-d);
  color: var(--c-tit);
  margin: var(--mar-tit-d);
  word-wrap: break-word;
  min-width: 0;
}

/* --------------------------------------------------------------------------
   GRAELLA D'ÍTEMS
   -------------------------------------------------------------------------- */
.c-contact-grid__items {
  order: var(--o-grid-d, 2);
  display: grid;
  grid-template-columns: repeat(var(--cols-in-d), minmax(0, 1fr));
  column-gap: var(--gap-x-d);
  row-gap: var(--gap-y-d);
  min-width: 0;
}

/* --------------------------------------------------------------------------
   ÍTEM INDIVIDUAL DE CONTACTE
   -------------------------------------------------------------------------- */
.c-contact-grid__item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--c-ibord);
  padding-bottom: var(--pb-item-d);
}

.c-contact-grid__itit {
  font-family: var(--ff-itit);
  font-size: var(--fs-itit-d);
  font-weight: var(--fw-itit);
  line-height: var(--lh-itit-d);
  color: var(--c-itit);
  margin: 0 0 var(--mb-itit-d) 0;
  word-wrap: break-word;
}

.c-contact-grid__persona {
  position: relative;
}

.c-contact-grid__persona:not(:last-child) {
  margin-bottom: 16px;
}

.c-contact-grid__inom {
  font-family: var(--ff-inom);
  font-size: var(--fs-inom-d);
  font-weight: var(--fw-inom);
  line-height: var(--lh-inom-d);
  color: var(--c-inom);
  margin: 0 0 var(--mb-inom-d) 0;
  word-wrap: break-word;
  position: relative;
  z-index: 1;
}

/* Correu i Botó Copiar */
.c-contact-grid__email-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.c-contact-grid__email {
  font-family: var(--ff-iem);
  font-size: var(--fs-iem-d);
  font-weight: var(--fw-iem);
  line-height: var(--lh-iem-d);
  color: var(--c-iem);
  word-break: break-all;
}

/* BOTÓ COPIAR */
.c-contact-grid__copy-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--c-iem);
}

.c-contact-grid__copy-btn.is-copied {
  z-index: 9999;
}

.c-contact-grid__copy-btn svg {
  width: 17px;
  height: 20px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.c-contact-grid__copy-btn:hover svg {
  transform: scale(1.1);
}

/* Tooltip Feedback (Copiat!) */
.c-contact-grid__tooltip {
  position: absolute;
  z-index: 9999;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background-color: var(--c-tooltip);
  color: var(--c-tit); 
  font-family: var(--ff-inom);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  pointer-events: none;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Fletxeta del Tooltip */
.c-contact-grid__tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  border-color: var(--c-tooltip) transparent transparent transparent;
}

.c-contact-grid__copy-btn.is-copied .c-contact-grid__tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}


/* ==========================================================================
   RESPONSIVE SCALING DEL CONTENIDOR GLOBAL (4 Breakpoints)
   ========================================================================== */

@media (min-width: 1441px) {
  .grid-container > .c-contact-grid__wrap {
    grid-column-start: var(--col-start-xl, auto) !important;
    grid-column-end: span var(--col-span-xl, 12) !important;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .grid-container > .c-contact-grid__wrap {
    grid-column-start: var(--col-start-t, auto) !important;
    grid-column-end: span var(--col-span-t, 12) !important;
  }

  .c-contact-grid__wrap {
    grid-template-columns: var(--grid-h-t, 1fr 2fr);
  }
  
  .c-contact-grid__items {
    grid-template-columns: repeat(var(--cols-in-t), minmax(0, 1fr));
  }
}

/* ==========================================================================
   4. RESPONSIVE - MÒBIL (Fins a 768px)
   ========================================================================== */
@media (max-width: 768px) {
  
  .c-contact-grid {
    margin: var(--mar-out-m);
    padding: var(--pad-out-m);
  }

  .grid-container > .c-contact-grid__wrap {
    grid-column-start: var(--col-start-m, auto) !important;
  }

  .c-contact-grid--bg-desktop { background: transparent; }
  .c-contact-grid--bg-mobile { background: var(--bg-out); }

  .c-contact-grid__wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--gap-head-m);
  }

  .c-contact-grid__titol {
    order: var(--o-tit-m, 1);
    font-family: var(--ff-tit-m);
    font-size: var(--fs-tit-m);
    line-height: var(--lh-tit-m);
    margin: var(--mar-tit-m);
  }

  .c-contact-grid__items {
    order: var(--o-grid-m, 2);
    grid-template-columns: repeat(var(--cols-in-m), minmax(0, 1fr));
    column-gap: var(--gap-x-m);
    row-gap: var(--gap-y-m);
  }

  .c-contact-grid__item {
    padding-bottom: var(--pb-item-m);
  }

  .c-contact-grid__itit {
    font-size: var(--fs-itit-m);
    line-height: var(--lh-itit-m);
    margin-bottom: var(--mb-itit-m);
  }

  .c-contact-grid__inom {
    font-size: var(--fs-inom-m);
    line-height: var(--lh-inom-m);
    margin-bottom: var(--mb-inom-m);
  }

  .c-contact-grid__email {
    font-size: var(--fs-iem-m);
    line-height: var(--lh-iem-m);
  }

}