.ravaagh-overlay {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--ravaagh-cols-desktop, 3), minmax(0, 1fr));
}
.ravaagh-card {
  padding: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}
.ravaagh-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
  width: 100%;
}
.ravaagh-visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.ravaagh-visual,
.ravaagh-textbox {
  min-width: 0;
}
.ravaagh-visual {
  width: 100%;
  min-height: 260px;
}
.ravaagh-visual > div,
.ravaagh-visual iframe {
  width: 100% !important;
  min-height: 100%;
  display: block;
}
.ravaagh-visual .leaflet-container {
  width: 100% !important;
  min-height: 260px;
}
.ravaagh-textbox {
  padding: 12px;
  box-sizing: border-box;
}
.ravaagh-textblock {
  margin: 0 0 10px;
  padding: 10px;
  box-sizing: border-box;
}
.ravaagh-textblock:last-child {
  margin-bottom: 0;
}
/* Alignment helpers from global setting */
.ravaagh-align-left .ravaagh-textbox { text-align: left; }
.ravaagh-align-center .ravaagh-textbox { text-align: center; }
.ravaagh-align-right .ravaagh-textbox { text-align: right; }
/* Responsive */
@media (max-width: 768px) {
  .ravaagh-overlay {
    grid-template-columns: repeat(var(--ravaagh-cols-tablet, 2), minmax(0, 1fr));
  }
  .ravaagh-inner {
    flex-direction: column !important;
  }
  .ravaagh-image,
  .ravaagh-textbox {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  .ravaagh-overlay {
    grid-template-columns: repeat(var(--ravaagh-cols-mobile, 1), minmax(0, 1fr));
  }
}
