/* SDG event, testimonial, and Contact Form 7 refinements. */

.sdg-event-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  justify-content: start;
  align-items: start;
  gap: 22px;
}

.sdg-style .sdg-event-card {
  width: 100%;
  max-width: 360px !important;
  padding: 0 !important;
  overflow: hidden;
  justify-self: start;
}

.sdg-event-card__image {
  display: block;
  aspect-ratio: 1 / 1;
  background-color: #f6efe4;
  text-decoration: none !important;
  overflow: hidden;
}

.sdg-style .sdg-event-card__img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.sdg-event-card__body {
  padding: clamp(22px, 3vw, 32px);
}

.sdg-event-card__body h3 {
  font-size: clamp(1.45rem, 2.1vw, 2rem);
}

.sdg-style .sdg-event-feature {
  grid-template-columns: minmax(300px, 500px) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.sdg-style .sdg-event-artwork,
.sdg-style .sdg-single-event__artwork {
  display: block;
  width: min(100%, 500px);
  aspect-ratio: 1 / 1;
  justify-self: center;
  border-radius: var(--sdg-radius-xl);
  border: 1px solid rgba(20,40,70,.10);
  box-shadow: var(--sdg-shadow-strong);
  overflow: hidden;
  background: #f6efe4;
  text-decoration: none !important;
}

.sdg-style .sdg-event-artwork__img,
.sdg-style .sdg-single-event__artwork .sdg-event-artwork__img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.sdg-style .sdg-event-artwork__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg,#ddd2c2,#bfc9d5);
}

.sdg-style .sdg-event-feature .sdg-event-body {
  background: var(--sdg-paper);
  border: 1px solid rgba(20,40,70,.10);
  border-radius: var(--sdg-radius-xl);
  box-shadow: var(--sdg-shadow-soft);
  padding: clamp(32px, 5vw, 62px);
}

.sdg-single-event {
  display: grid;
  grid-template-columns: minmax(300px, 500px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.sdg-single-event__content {
  background: var(--sdg-paper);
  border: 1px solid rgba(20,40,70,.10);
  border-radius: var(--sdg-radius-xl);
  box-shadow: var(--sdg-shadow-soft);
  padding: clamp(32px, 5vw, 62px);
}

.sdg-single-event__description {
  margin: 28px 0;
}

.sdg-single-event__description :where(p, li) {
  color: var(--sdg-muted);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.75;
}

.sdg-testimonials-shell {
  border-radius: var(--sdg-radius-lg);
  background: rgba(255,255,255,.56);
  border: 1px solid var(--sdg-line);
  box-shadow: var(--sdg-shadow-soft);
  padding: clamp(20px, 3vw, 34px);
  overflow: hidden;
}

.sdg-testimonials-shell .strong-view,
.sdg-testimonials-shell .strong-view * {
  box-sizing: border-box;
}

.sdg-testimonials-shell .strong-view {
  margin: 0 !important;
}

.sdg-testimonials-shell .testimonial,
.sdg-testimonials-shell .wpmtst-testimonial {
  border: 1px solid var(--sdg-line) !important;
  border-radius: 22px !important;
  background: var(--sdg-paper) !important;
  box-shadow: none !important;
  padding: clamp(22px, 3vw, 34px) !important;
}

.sdg-testimonials-shell .testimonial-content,
.sdg-testimonials-shell .wpmtst-testimonial-content,
.sdg-testimonials-shell .testimonial-content p {
  color: var(--sdg-navy) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.45rem, 2.5vw, 2.15rem) !important;
  line-height: 1.22 !important;
}

.sdg-testimonials-shell .testimonial-name,
.sdg-testimonials-shell .wpmtst-testimonial-field,
.sdg-testimonials-shell .testimonial-client,
.sdg-testimonials-shell .testimonial-client div {
  color: var(--sdg-muted) !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
}

.sdg-testimonials-shell img {
  border-radius: 14px !important;
  max-width: 180px !important;
  height: auto !important;
}

.sdg-testimonials-shell .strong-view.controls-style-buttons .wpmslider-start,
.sdg-testimonials-shell .strong-view.controls-style-buttons .wpmslider-stop,
.sdg-testimonials-shell .strong-view.controls-style-buttons .wpmslider-prev,
.sdg-testimonials-shell .strong-view.controls-style-buttons .wpmslider-next,
.sdg-testimonials-shell .wpmslider-controls a {
  color: var(--sdg-navy) !important;
}

.sdg-cf7-card .wpcf7 form,
.sdg-cf7-form {
  display: grid;
  gap: 18px;
}

.sdg-cf7-fieldset,
.sdg-cf7-card fieldset {
  border: 1px solid var(--sdg-line);
  border-radius: 18px;
  padding: clamp(18px, 3vw, 28px);
  margin: 0 0 18px;
  background: rgba(255,255,255,.55);
}

.sdg-cf7-fieldset legend,
.sdg-cf7-card legend {
  color: var(--sdg-navy);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  line-height: 1;
  font-weight: 700;
  padding: 0 10px;
}

.sdg-cf7-grid {
  display: grid;
  gap: 16px;
}

.sdg-cf7-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sdg-cf7-grid--3 {
  grid-template-columns: 1.2fr .75fr .75fr;
}

.sdg-cf7-field,
.sdg-cf7-card .contact-form-row {
  margin-bottom: 14px;
}

.sdg-cf7-card label {
  display: grid;
  gap: 8px;
  color: var(--sdg-navy);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sdg-cf7-card input[type="text"],
.sdg-cf7-card input[type="email"],
.sdg-cf7-card input[type="tel"],
.sdg-cf7-card textarea,
.sdg-cf7-card select {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--sdg-line);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  color: var(--sdg-ink);
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.sdg-cf7-card textarea {
  min-height: 150px;
  resize: vertical;
}

.sdg-form-help {
  margin: 6px 0 0;
  color: var(--sdg-muted);
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.sdg-cf7-checks {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.sdg-cf7-check .wpcf7-list-item {
  margin: 0;
}

.sdg-cf7-check label,
.sdg-cf7-card .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--sdg-line);
  border-radius: 16px;
  background: #fff;
  color: var(--sdg-ink);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.sdg-cf7-card input[type="checkbox"] {
  appearance: auto;
  width: 20px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 20px;
  margin: 1px 0 0;
  accent-color: var(--sdg-wine);
}

.sdg-cf7-card input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid var(--sdg-wine);
  border-radius: 999px;
  background: var(--sdg-wine);
  color: #fff;
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  cursor: pointer;
}

.sdg-cf7-card .wpcf7-not-valid-tip {
  color: var(--sdg-wine);
  font-weight: 800;
  margin-top: 6px;
  letter-spacing: 0;
  text-transform: none;
}

.sdg-cf7-card .wpcf7-response-output {
  border-radius: 14px;
  padding: 12px 14px !important;
  margin: 12px 0 0 !important;
}

@media (max-width: 1040px) {
  .sdg-style .sdg-event-feature,
  .sdg-single-event {
    grid-template-columns: 1fr;
  }

  .sdg-style .sdg-event-artwork,
  .sdg-style .sdg-single-event__artwork {
    width: min(100%, 500px);
  }
}

@media (max-width: 720px) {
  .sdg-event-card-grid {
    grid-template-columns: minmax(0, min(100%, 420px));
    justify-content: center;
  }

  .sdg-style .sdg-event-card {
    max-width: 420px !important;
    justify-self: center;
  }

  .sdg-cf7-grid--2,
  .sdg-cf7-grid--3 {
    grid-template-columns: 1fr;
  }
}
