/* ============================================================
   Plugin compatibility styles — premier-medical-spa
   Restyles detected third-party front-end output to theme
   tokens from style.css. No hardcoded values. Targets stable
   class hooks only. See audit/plugins-detected.md.
   ============================================================ */

/* ============================================
   Plugin compat — Contact Form 7
   Forms inherit the theme form component.
   ============================================ */
.wpcf7 .pms-form,
.wpcf7 form {
  display: grid; gap: var(--space-2);
}
.wpcf7-form label { font-weight: 500; font-size: var(--text-sm); color: var(--color-ink-soft); }
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%; padding: 0.75em 0.9em; border: var(--border-hair); border-radius: var(--radius-sm);
  background: var(--color-white); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-base);
  margin-top: var(--space-1);
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
  outline: 2px solid var(--color-teal-500); outline-offset: 1px; border-color: var(--color-teal-700);
}
.wpcf7-form input[type=submit],
.wpcf7-form button[type=submit] {
  font-family: var(--font-body); font-weight: 600; background: var(--color-teal-700); color: var(--color-white);
  border: 1px solid var(--color-teal-700); border-radius: var(--radius-sm); padding: 0.75em 1.4em; min-height: 44px;
  cursor: pointer; transition: background var(--ease-default);
}
.wpcf7-form input[type=submit]:hover,
.wpcf7-form button[type=submit]:hover { background: var(--color-teal-900); }
.wpcf7-not-valid-tip { color: var(--color-error); font-size: var(--text-sm); }
.wpcf7-form .wpcf7-response-output {
  border: 1px solid var(--color-line); border-left: 4px solid var(--color-teal-700);
  background: var(--color-teal-100); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4);
  margin: var(--space-4) 0 0; font-size: var(--text-sm);
}
.wpcf7-form.invalid .wpcf7-response-output { border-left-color: var(--color-error); background: #f7e9e6; }
.wpcf7-spinner { background-color: var(--color-teal-500); }

/* ============================================
   Plugin compat — RSVPMaker
   Tame the plugin's many default styles; align
   forms/buttons/calendars to theme tokens.
   ============================================ */
.pms-rsvpmaker .rsvpmaker-button,
.rsvpmaker-button a,
a.rsvpmaker-button,
.rsvp_button {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-teal-700) !important; color: var(--color-white) !important;
  border: 1px solid var(--color-teal-700) !important; border-radius: var(--radius-sm) !important;
  padding: 0.7em 1.4em !important; font-family: var(--font-body) !important; font-weight: 600 !important;
  min-height: 44px; text-transform: none !important; box-shadow: none !important;
}
.pms-rsvpmaker .rsvpmaker-button:hover,
a.rsvpmaker-button:hover { background: var(--color-teal-900) !important; }
.pms-rsvpmaker input[type=text],
.pms-rsvpmaker input[type=email],
.pms-rsvpmaker input[type=tel],
.pms-rsvpmaker textarea,
.pms-rsvpmaker select,
.rsvpmaker-formfield input,
.rsvpmaker-formfield textarea,
.rsvpmaker-formfield select {
  border: var(--border-hair) !important; border-radius: var(--radius-sm) !important;
  padding: 0.7em 0.9em !important; background: var(--color-white) !important; color: var(--color-ink) !important;
  font-family: var(--font-body) !important;
}
.pms-rsvpmaker .rsvpmaker-calendar td,
.rsvpmaker-calendar td { border-color: var(--color-line) !important; font-family: var(--font-body) !important; }
.pms-rsvpmaker h1, .pms-rsvpmaker h2, .pms-rsvpmaker h3 { font-family: var(--font-heading) !important; color: var(--color-teal-900) !important; }

/* ============================================
   Plugin compat — Jetpack (sharing, likes, search)
   Coexist quietly; align widgets to the theme.
   ============================================ */
.pms-jetpack-sharing,
.sharedaddy.sd-sharing-enabled {
  border-top: var(--border-hair); padding-top: var(--space-4); margin-top: var(--space-6);
}
.sharedaddy h3.sd-title {
  font-family: var(--font-body) !important; text-transform: uppercase; letter-spacing: var(--tracking-label);
  font-size: var(--text-xs) !important; color: var(--color-muted) !important; font-weight: 600 !important;
}
.sharedaddy h3.sd-title::before { display: none; }
.jp-relatedposts, .jetpack_related-posts h3 { font-family: var(--font-heading); color: var(--color-teal-900); }
.sd-content ul li a.sd-button {
  border-radius: var(--radius-sm) !important;
}
/* Jetpack instant search / filters */
.jetpack-instant-search__box input,
.jetpack-search-filters-widget__sub-heading { font-family: var(--font-body) !important; }
.jetpack-instant-search__search-results-primary .jetpack-instant-search__link { color: var(--color-teal-700) !important; }

/* Jetpack subscription / newsletter block */
.wp-block-jetpack-subscriptions input[type=email] {
  border: var(--border-hair) !important; border-radius: var(--radius-sm) !important; padding: 0.75em 0.9em !important;
}
.wp-block-jetpack-subscriptions button,
.wp-block-jetpack-subscriptions .wp-block-button__link {
  background: var(--color-teal-700) !important; border-radius: var(--radius-sm) !important; color: var(--color-white) !important;
}

/* ============================================
   Plugin compat — Page builders (builder-compatible)
   Let builder content use full width inside the theme.
   ============================================ */
.pms-builder-fullwidth .site-content > .container,
.elementor-template-canvas .site-content { max-width: none; padding-inline: 0; }
.fl-builder-content, .elementor { color: var(--color-ink); }
/* Don't double-constrain builder rows. */
.fl-row-content-wrap, .elementor-section { font-family: var(--font-body); }
