@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500&display=swap');

.section-title p.playfair-medium {
  font-family: "Playfair Display", serif !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.circle {
  width: 50px;       /* circle diameter */
  height: 50px;
  border-radius: 50%; /* makes it a perfect circle */
  display: inline-block;
}

.img-responsive-height {
  height: 100%;       /* will match the tallest column */
  max-height: 400px;  /* optional: limit max height */
  width: auto;        /* preserve original aspect ratio */
  max-width: 100%;    /* make sure it fits column on mobile */
  object-fit: contain; /* avoid cropping */
}

.left-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 25%;       /* desktop overlay width */
  height: 100%;
  background: rgba(0, 0, 0, 0.452);
  display: flex;
  flex-direction: column;
  justify-content: center;   /* vertical center */
  align-items: flex-start;   /* text left-aligned */
  padding: 20px;
  box-sizing: border-box;
}

.right-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
  height: 100%;
  background: rgba(0, 0, 0, 0.452);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; /* keeps text left-aligned inside overlay */
  padding: 20px;
  box-sizing: border-box;
}

.bottom-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15%;
  background: rgba(0, 0, 0, 0.452);
  display: flex;
  flex-direction: column;
  justify-content: center; /* vertical centering inside bottom overlay */
  align-items: flex-start; /* text left-aligned */
  padding: 10px 20px;
  box-sizing: border-box;
}

.overlay-text {
  color: white;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  text-align: left;
  word-wrap: break-word;
}

/* Mobile fix */
@media (max-width: 767px) {
  .left-overlay,
  .right-overlay {
    width: 30%;       /* full width on mobile */
    padding: 15px;
  }
  .bottom-overlay {
    height: 20%;       /* slightly taller on mobile if needed */
    padding: 10px 15px;
  }
}