/* Ghan House — WP integration shim
   - Astra container reset so design sections can be full-bleed
   - Lough-only Astra resets (entry-header, pagination, post nav)
   - Button-state overrides (Astra force-paints :focus/:visited)
   The shared .hdr header, its Astra-hider, the .menu-btn override, the
   admin-bar offset, and the .gh2-menu-overlay all live in
   header-global.css (loaded on every page). */

/* ===== Astra reset for Lough pages — let design sections own the layout ===== */
body.gh-lough .entry-header,
body.gh-lough .ast-archive-description,
body.gh-lough .ast-pagination,
body.gh-lough .post-navigation { display: none !important; }

/* WordPress 6.x applies a global content-size cap to every direct child of
   `.entry-content` (an is-layout-constrained block) unless the child carries
   .alignfull / .alignleft / .alignright. Release ONLY direct children so
   section backgrounds reach the viewport edges; the design's own content
   wrappers (.sec-inner, .hero-inner, .gallery-grid, .detail-inner) still
   centre the content inside. */
body.gh-lough .entry-content > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

body.gh-lough #content,
body.gh-lough .ast-container,
body.gh-lough #primary,
body.gh-lough main#main,
body.gh-lough article.ast-article-single,
body.gh-lough .entry-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
}

body.gh-lough #content,
body.gh-lough .ast-container,
body.gh-lough #primary,
body.gh-lough main#main,
body.gh-lough article.ast-article-single,
body.gh-lough .entry-content { display: block !important; }

body.gh-lough,
body.gh-lough html { overflow-x: hidden; }

/* Astra also adds `text-decoration: underline` to anchors inside
   .entry-content. The design uses border-bottom for visual underlines (on
   .link, .room .view, .other-card .arr, .crumb a, .book-foot a etc.) so the
   extra text-decoration layers on top and looks wrong. Strip it globally on
   Lough pages, then re-enable for the one design element that genuinely
   wants text-decoration: the booking widget's small alt links. */
body.gh-lough a,
body.gh-lough a:hover,
body.gh-lough a:focus,
body.gh-lough .entry-content a,
body.gh-lough .entry-content a:hover,
body.gh-lough .entry-content a:focus { text-decoration: none !important; }

body.gh-lough .avail-foot a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* Astra applies button styles to ALL <button> and <a class="...">-as-button
   elements — most importantly `:hover { color }`, `:focus { background-color }`,
   `:focus { border-color }`. Once a button is clicked it picks up those styles
   and (because :focus persists until something else takes focus) sticks on
   the blue Astra brand. Pin background + colour + border on every interactive
   state so Astra can't repaint our design buttons. */

/* For each Lough button variant, two rules:
   1. "rest" — every non-hover state (default + :focus + :focus-visible + :active + :visited).
      Pins design default so Astra's blue can't stick after a click.
   2. ":hover" — separate rule (kept out of the rest list so hover always
      cleanly overrides). */

/* .book-cta — sticky room-card CTA */
body.gh-lough .book-cta,
body.gh-lough .book-cta:focus,
body.gh-lough .book-cta:focus-visible,
body.gh-lough .book-cta:active,
body.gh-lough .book-cta:visited {
  background-color: var(--cream, #f5f0e8) !important;
  color: var(--navy-deep, #14181f) !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.gh-lough .book-cta:hover {
  background-color: #fff !important;
  color: var(--navy-deep, #14181f) !important;
}

/* .avail-cta — homepage hero booking CTA */
body.gh-lough .avail-cta,
body.gh-lough .avail-cta:focus,
body.gh-lough .avail-cta:focus-visible,
body.gh-lough .avail-cta:active,
body.gh-lough .avail-cta:visited {
  background-color: var(--navy-deep, #14181f) !important;
  color: var(--cream, #f5f0e8) !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.gh-lough .avail-cta:hover {
  background-color: var(--navy, #1c2230) !important;
  color: var(--cream, #f5f0e8) !important;
}

/* .btn-book — header BOOK button */
body.gh-lough .btn-book,
body.gh-lough .btn-book:focus,
body.gh-lough .btn-book:focus-visible,
body.gh-lough .btn-book:active,
body.gh-lough .btn-book:visited {
  background-color: var(--cream, #f5f0e8) !important;
  color: var(--navy-deep, #14181f) !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.gh-lough .btn-book:hover {
  background-color: #fff !important;
  color: var(--navy-deep, #14181f) !important;
  transform: translateY(-1px);
}

/* .btn (light-bg ghost) */
body.gh-lough .btn,
body.gh-lough .btn:focus,
body.gh-lough .btn:focus-visible,
body.gh-lough .btn:active,
body.gh-lough .btn:visited {
  background-color: transparent !important;
  color: var(--navy, #1c2230) !important;
  border: 1px solid var(--navy, #1c2230) !important;
  box-shadow: none !important;
}
body.gh-lough .btn:hover {
  background-color: var(--navy, #1c2230) !important;
  color: var(--cream, #f5f0e8) !important;
  border-color: var(--navy, #1c2230) !important;
}

/* .btn.btn-primary (light-bg solid) — must follow .btn so it overrides */
body.gh-lough .btn.btn-primary,
body.gh-lough .btn.btn-primary:focus,
body.gh-lough .btn.btn-primary:focus-visible,
body.gh-lough .btn.btn-primary:active,
body.gh-lough .btn.btn-primary:visited {
  background-color: var(--navy, #1c2230) !important;
  color: var(--cream, #f5f0e8) !important;
  border-color: var(--navy, #1c2230) !important;
}
body.gh-lough .btn.btn-primary:hover {
  background-color: transparent !important;
  color: var(--navy, #1c2230) !important;
  border-color: var(--navy, #1c2230) !important;
}

/* .btn-on-dark (dark-bg ghost) */
body.gh-lough .btn-on-dark,
body.gh-lough .btn-on-dark:focus,
body.gh-lough .btn-on-dark:focus-visible,
body.gh-lough .btn-on-dark:active,
body.gh-lough .btn-on-dark:visited {
  background-color: transparent !important;
  color: var(--cream, #f5f0e8) !important;
  border-color: rgba(245, 240, 232, .4) !important;
  box-shadow: none !important;
}
body.gh-lough .btn-on-dark:hover {
  background-color: rgba(245, 240, 232, .08) !important;
  color: var(--cream, #f5f0e8) !important;
  border-color: var(--cream, #f5f0e8) !important;
}

/* .btn-on-dark.btn-primary (dark-bg solid) */
body.gh-lough .btn-on-dark.btn-primary,
body.gh-lough .btn-on-dark.btn-primary:focus,
body.gh-lough .btn-on-dark.btn-primary:focus-visible,
body.gh-lough .btn-on-dark.btn-primary:active,
body.gh-lough .btn-on-dark.btn-primary:visited {
  background-color: var(--cream, #f5f0e8) !important;
  color: var(--navy-deep, #14181f) !important;
  border-color: var(--cream, #f5f0e8) !important;
}
body.gh-lough .btn-on-dark.btn-primary:hover {
  background-color: #fff !important;
  color: var(--navy-deep, #14181f) !important;
  border-color: #fff !important;
}

/* Header admin-bar offset and slide-over menu overlay live in
   header-global.css. */
