/* ==========================================================================
   WordPress layer: admin bar, Contact Form 7, plain page content.
   Loads after styles.css.
   ========================================================================== */

/* fixed header sits under the admin bar when logged in */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 600px) {
  body.admin-bar .site-header { top: 0; }
}

/* ------------------------------------------------------ contact form 7 -- */

.booking-form .wpcf7-form-control-wrap { display: block; }
.booking-form .wpcf7-form-control:not(.btn) { width: 100%; }

.booking-form .wpcf7-not-valid {
  border-color: var(--bs-form-invalid-border-color, #dc3545);
}
.booking-form .wpcf7-not-valid:focus {
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}
.booking-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.92rem;
  color: var(--bs-form-invalid-color, #dc3545);
}

.booking-form .wpcf7-spinner { margin: 0 0 0 0.75rem; vertical-align: middle; }
.booking-form .wpcf7-submit:disabled { opacity: 0.65; }

/* CF7's own notice, styled as a Bootstrap alert */
.booking-form .wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  font-size: 0.98rem;
}
.booking-form .wpcf7 form.invalid .wpcf7-response-output,
.booking-form .wpcf7 form.unaccepted .wpcf7-response-output,
.booking-form .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #f1aeb5;
  background: #f8d7da;
  color: #58151c;
}
.booking-form .wpcf7 form.failed .wpcf7-response-output,
.booking-form .wpcf7 form.aborted .wpcf7-response-output,
.booking-form .wpcf7 form.spam .wpcf7-response-output {
  border-color: #ffe69c;
  background: #fff3cd;
  color: #664d03;
}
/* on success the theme's own thank-you message replaces it */
.booking-form .wpcf7 form.sent .wpcf7-response-output { display: none; }

.form__status .btn { margin-top: 0.75rem; }

/* ------------------------------------------------------- plain content -- */

.entry-content { max-width: 72ch; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content a { color: var(--tiffany-deep); }
