/* =========================================================
   Landing — Contact Form 7 adapted to the layout's form styles
   ========================================================= */

.wpcf7-form-control-wrap { display: block; width: 100%; }
.field > .wpcf7-form-control-wrap { font-size: 1rem; font-weight: 400; letter-spacing: normal; color: var(--ink); }
.field > label { font-size: .78rem; font-weight: 600; letter-spacing: .04em; color: var(--ink-2); }
.upload:focus-within .upload__box { border-color: var(--accent-2); background: #fff; }
/* CF7 wraps the file input in a position:relative span of zero height — let the input cover the whole .upload box */
.upload .wpcf7-form-control-wrap { position: static; }
.upload input[type="file"] { z-index: 1; width: 100%; height: 100%; }
.upload .wpcf7-not-valid-tip { position: relative; z-index: 2; }

.field .wpcf7-not-valid { border-color: #c0392b; box-shadow: 0 0 0 4px rgba(192, 57, 43, .1); }
.wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: .78rem; font-weight: 500; color: #c0392b; }

.wpcf7-form .wpcf7-spinner { display: none; }
.wpcf7-form.submitting [type="submit"] { opacity: .6; pointer-events: none; }
input[type="submit"].btn { width: auto; -webkit-appearance: none; appearance: none; }
input[type="submit"].btn--block { width: 100%; border: none; }

.wpcf7 form.wpcf7-form .wpcf7-response-output { margin: 0; padding: 14px 16px; border: 0; border-radius: 10px; font-size: .92rem; font-weight: 500; background: #fbecea; color: #8c2a1f; }
.wpcf7 form.wpcf7-form.sent .wpcf7-response-output { background: #edf5ec; color: #2c5d2e; }
.wpcf7 form.wpcf7-form.init .wpcf7-response-output,
.wpcf7 form.wpcf7-form.resetting .wpcf7-response-output,
.wpcf7 form.wpcf7-form.submitting .wpcf7-response-output { display: none; }

.wpcf7-form.sent .field, .wpcf7-form.sent .upload, .wpcf7-form.sent .form-row, .wpcf7-form.sent [type="submit"], .wpcf7-form.sent .quick-form__note { display: none; }

/* =========================================================
   Landing — Trustindex Google reviews styled as the layout's .review cards
   ========================================================= */

#reviews .ti-widget.ti-goog .ti-widget-container,
#reviews .ti-widget.ti-goog .ti-widget-container * { font-family: var(--sans); }
#reviews .ti-widget.ti-goog .ti-widget-container { margin-bottom: 0; color: var(--ink); }

#reviews .ti-widget.ti-goog .ti-reviews-container-wrapper { margin: 0 -10px; padding-top: 4px; padding-bottom: 12px; }
#reviews .ti-widget.ti-goog .ti-review-item { padding: 0 10px; }
#reviews .ti-widget.ti-goog .ti-review-item > .ti-inner {
  display: flex !important; flex-direction: column; height: 100%;
  padding: 32px !important; margin: 0 !important;
  background: #fff !important; background-image: none !important;
  border: 1px solid var(--line) !important; border-radius: var(--radius-lg) !important;
}
/* the widget resets gap with !important, so spacing is done with margins */

/* order as in the layout: stars → text → author */
#reviews .ti-widget.ti-goog .ti-review-item .ti-stars { order: 1; height: 18px; line-height: 18px; margin: 0 0 20px !important; }
#reviews .ti-widget.ti-goog .ti-verified-review { display: none !important; }
#reviews .ti-widget.ti-goog .ti-review-item .ti-star { width: 18px !important; height: 18px !important; margin-right: 3px !important; }
#reviews .ti-widget.ti-goog .ti-review-content {
  order: 2; flex: 0 0 auto; margin-bottom: 20px; font-size: 1.02rem; line-height: 1.65; height: calc(1.65em * 4); color: var(--ink-2);
}
#reviews .ti-widget.ti-goog .ti-read-more { order: 3; padding: 0; margin: -10px 0 20px; }
#reviews .ti-widget.ti-goog .ti-read-more span { font-size: .85rem; font-weight: 600; color: var(--accent); opacity: 1; }
#reviews .ti-widget.ti-goog .ti-review-header {
  order: 4; position: relative; display: flex; align-items: center; margin-top: auto;
  padding-top: 20px; border-top: 1px solid var(--line);
}
#reviews .ti-widget.ti-goog .ti-platform-icon { top: 31px; }
#reviews .ti-widget.ti-goog .ti-profile-img { margin: 0 12px 0 0 !important; }
#reviews .ti-widget.ti-goog .ti-profile-img img { width: 42px !important; height: 42px !important; border-radius: 50% !important; }
#reviews .ti-widget.ti-goog .ti-widget-container .ti-name { font-size: .95rem; font-weight: 700; color: var(--ink); }
#reviews .ti-widget.ti-goog .ti-widget-container .ti-date { font-size: .8rem; color: var(--muted); }

/* arrows + progress like .slider__arrow / .slider__dots */
#reviews .ti-widget.ti-goog .ti-controls .ti-next,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev {
  width: 50px; height: 50px; margin-top: -13px; border-radius: 50%;
  background-color: #fff; outline: 0; border: 1px solid var(--line); box-shadow: var(--shadow-sm);
}
#reviews .ti-widget.ti-goog .ti-controls .ti-next { right: -12px; }
#reviews .ti-widget.ti-goog .ti-controls .ti-prev { left: -12px; }
#reviews .ti-widget.ti-goog .ti-controls .ti-next:before,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev:before { border-color: var(--ink); }
#reviews .ti-widget.ti-goog .ti-controls .ti-next:hover,
#reviews .ti-widget.ti-goog .ti-controls .ti-next:focus,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev:hover,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev:focus { background: var(--gold) !important; border-color: transparent; outline: 0 !important; }
#reviews .ti-widget.ti-goog .ti-controls .ti-next:hover:before,
#reviews .ti-widget.ti-goog .ti-controls .ti-next:focus:before,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev:hover:before,
#reviews .ti-widget.ti-goog .ti-controls .ti-prev:focus:before { border-color: var(--ink) !important; }
#reviews .ti-widget.ti-goog .ti-controls-line { margin: 28px auto 0; width: 120px; height: 8px; border-radius: 999px; background: var(--sand-2); }
#reviews .ti-widget.ti-goog .ti-controls-line .dot { border-radius: 999px; background: var(--gold-soft); }

@media (max-width: 760px) {
  #reviews .ti-widget.ti-goog .ti-review-item > .ti-inner { padding: 26px !important; }
  #reviews .ti-widget.ti-goog .ti-controls .ti-next { right: 0; }
  #reviews .ti-widget.ti-goog .ti-controls .ti-prev { left: 0; }
}
