/* ==========================================================================
   WordPress-only additions. main.css / pages.css / reviews.css are copied
   unchanged from the static build; anything WordPress needs on top lives here.
   ========================================================================== */

/* Logged-in admin bar: keep the sticky header and the mobile drawer below it. */
.admin-bar .site-header { top: 32px; }
.admin-bar .drawer { inset: calc(var(--header-h) + 32px) 0 0; }
html:has(body.admin-bar) { scroll-padding-top: calc(var(--header-h) + 32px + 1.25rem); }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .drawer { inset: calc(var(--header-h) + 46px) 0 0; }
}
/* Below 600px WordPress makes the admin bar scroll away (position:absolute). */
@media (max-width: 600px) {
  .admin-bar .site-header { top: 0; }
  .admin-bar .drawer { inset: var(--header-h) 0 0; }
}

/* Booking form: server-side error message (the static form had no server). */
.form__error {
  margin: 0 0 1rem; padding: .8rem 1rem; border-left: 3px solid var(--rust);
  background: rgba(163, 71, 40, .07); color: var(--ink); font-size: .95rem;
}

/* Core classes that editor content (Privacy Policy, any new page) can output. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.prose img { height: auto; }
.prose .alignleft  { float: left; margin: .3rem 1.5rem 1rem 0; }
.prose .alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.prose .aligncenter { display: block; margin-inline: auto; }
.prose figure { margin: 1.5rem 0; }
.prose figcaption, .prose .wp-caption-text { font-size: .9rem; color: var(--ink-soft); margin-top: .5rem; }
@media (max-width: 600px) { .prose .alignleft, .prose .alignright { float: none; margin: 1rem 0; } }
