/* ========================================
   DNA Stats
   ======================================== */

.section-dna {
  --section-pt: 216px;
  background-color: var(--color-bg-white);
  padding-top: var(--section-pt);
  padding-bottom: 0px;
}
#dna .grid-cross--light::before,
#dna .grid-cross--light::after {
  background-color: var(--color-grid-line-light);
}
.section-dna.section--grid-light::after {
  background-image:
    repeating-linear-gradient(to bottom, var(--color-grid-line-light) 0px, var(--color-grid-line-light) 10px, transparent 10px, transparent 20px),
    repeating-linear-gradient(to bottom, var(--color-grid-line-light) 0px, var(--color-grid-line-light) 10px, transparent 10px, transparent 20px),
    repeating-linear-gradient(to bottom, var(--color-grid-line-light) 0px, var(--color-grid-line-light) 10px, transparent 10px, transparent 20px);
  background-size:
    1px 20px,
    1px 20px,
    1px 20px;
  background-position:
    0% 0,
    50% 0,
    100% 0;
  background-repeat:
    repeat-y,
    repeat-y,
    repeat-y;
}

/* Layout: eredita la griglia 4 colonne dal container */
.dna-layout {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  gap: 0;
}

.dna-intro {
  grid-column: 1 / 3; /* Colonne 1-2 */
  padding-left: var(--container-gutter);
  padding-top: var(--container-gutter);
  padding-right: var(--container-gutter);
}
.single .dna-intro {
  padding-left: 0;
}

.dna-stats {
  grid-column: 3 / -1; /* Colonne 3-4 */
  padding-top: 24px;
}

/* Left Column */
.dna-intro-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}

.dna-accent {
  display: block;
  width: 15px;
  height: 15px;
  background-color: var(--color-accent);
  flex-shrink: 0;
}

.dna-label {
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
  font-size: var(--fs-subtitle);
  line-height: var(--lh-body);
  color: var(--color-gray-light);
}

.dna-title {
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
  font-size: var(--fs-section-title);
  line-height: var(--lh-section-title);
  color: var(--color-pure-black);
  max-width: 640px;
}

/* Right Column: Stats */
.dna-stats {
  display: flex;
  flex-direction: column;
  gap: 0px;
}

.dna-stat {
  margin-bottom: 30px;
}

.dna-stat + .dna-stat {
  border-top: 1px solid var(--color-grid-line-light);
  padding-top: var(--card-pt);
}

.dna-stat-value {
  display: block;
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
  font-size: 50px;
  line-height: var(--lh-section-title);
  color: var(--color-gray-light);
  margin-bottom: 10px;
  padding-left: var(--card-pl);
}

.dna-stat-description {
  font-family: var(--font-primary);
  font-weight: var(--fw-medium);
  font-size: var(--fs-body);
  line-height: 40px;
  color: var(--color-pure-black);
  max-width: 635px;
  padding-left: var(--card-pl);
}

/* Mobile boundary — nascosta su desktop, visibile solo < 768px */
.dna-mobile-boundary {
  display: none;
}

/* ----------------------------------------
   Responsive
   ---------------------------------------- */

@media (max-width: 1024px) {
  .dna-layout {
    grid-template-columns: 1fr;
    gap: 50px 0;
  }
  .dna-intro {
    padding-left: var(--container-gutter);

  }

  .dna-intro,
  .dna-stats {
    grid-column: 1 / -1;

  }

  .section-dna {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .dna-title {
    font-size: 36px;
    max-width: 100%;
  }

  .dna-stat-value {
    font-size: 40px;
  }

  .dna-stat-description {
    font-size: 22px;
    line-height: 34px;
  }
}

@media (max-width: 768px) {
  .dna-mobile-boundary {
    display: block;
    position: relative;
    height: 0;
    grid-column: 1 / -1;
  }
  
  .dna-layout {
      gap: 30px 0;
  }
  .dna-accent {
      width: 10px;
      height: 10px;
  }
  
  .section-dna.section--grid-light::after {
    background-image:
      repeating-linear-gradient(to bottom, var(--color-grid-line-light) 0px, var(--color-grid-line-light) 10px, transparent 10px, transparent 20px),
      repeating-linear-gradient(to bottom, var(--color-grid-line-light) 0px, var(--color-grid-line-light) 10px, transparent 10px, transparent 20px);
    background-size:
      1px 20px,
      1px 20px;
    background-position:
      0% 0,
      100% 0;
    background-repeat:
      repeat-y,
      repeat-y;
  }

  .home .section-dna {
   padding-top: 130px;
   padding-bottom: 100px;
  }

  #dna > div {
      top: 100px;
  }
  #dna .grid-crosses .grid-crosses--top span {
    display: none;
  }

  .dna-title {
    font-size: 28px;
    line-height: 1.3;
    max-width: 100%;
    padding-left: var(--container-gutter);
  }
  
  .dna-stats {
      padding-top: 50px;
  }
  .dna-stat-value {
    font-size: 32px;
  }
  .dna-stat + .dna-stat {
    padding-top: 80px;
  }

  .dna-stat-description {
    font-size: 18px;
    line-height: 28px;
    padding-left: var(--container-gutter);
    padding-right: var(--container-gutter);
  }

  .dna-stat {
    position: relative;
  }

  .home .dna-stat::before,
  .home .dna-stat::after {
    content: '';
    position: absolute;
    bottom: -20px;
    width: 26px;
    height: 26px;
    transform: translate(-50%, 50%);
    background-image:
      linear-gradient(var(--color-grid-line-light), var(--color-grid-line-light)),
      linear-gradient(var(--color-grid-line-light), var(--color-grid-line-light));
    background-size: 3px 23px, 23px 3px;
    background-repeat: no-repeat;
    background-position: center center, center center;
    pointer-events: none;
    z-index: 2;
  }

  .dna-stat::before { left: var(--container-gutter); }
  .dna-stat::after  { left: calc(100% - var(--container-gutter)); }
}
