/* Aspect ratio enforcement (kept from 1.1.3) */
.mag-dfg.dp-dfg .dp-dfg-item .dp-dfg-thumb{
    width:100%;
    position:relative;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    aspect-ratio: var(--mag-thumb-aspect-ratio, 3/2);
    overflow:hidden;
    border-radius: 0; /* remove rounded corners */
}
.mag-dfg.dp-dfg .dp-dfg-item .dp-dfg-thumb::before{
    content:"";
    display:block;
    padding-top: var(--mag-thumb-aspect, 66%) !important;
}
@supports (aspect-ratio: 1 / 1){
    .mag-dfg.dp-dfg .dp-dfg-item .dp-dfg-thumb::before{ content:none; padding-top:0 !important; }
}
.mag-dfg.dp-dfg .dp-dfg-item .dp-dfg-thumb > .dp-dfg-image-link{
    position:absolute; top:0; left:0; width:100%; height:100%; display:block;
}
.mag-dfg.dp-dfg .dp-dfg-item .dp-dfg-thumb > .dp-dfg-image-link .dp-dfg-overlay{
    position:absolute; inset:0; pointer-events:none;
}

/* Make grid 3-across on desktop (Divi desktop breakpoint ~981px) */
@media (min-width: 981px){
  .mag-dfg.dp-dfg .dp-dfg-items{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--dp-dfg-gap, 30px);
  }
}

/* Ensure titles inherit theme h2.entry-title styles */
.mag-dfg .mag-dfg-title.entry-title,
.mag-dfg .mag-dfg-title.entry-title a.entry-title-link{
    font: inherit;
    color: inherit;
    text-decoration: none;
}

/* Optional spacing tweaks to align with common entry-title spacing */
.mag-dfg .mag-dfg-title.entry-title{
    margin: 0.6em 0 0;
}
