/* Grace & Fire Publishing — additions for the live site (menus, dialog, form messages). */
html { scroll-behavior: smooth; }
body { margin: 0; background: #FCFBF8; }
gf-if { display: contents; }
gf-if[hidden], [hidden] { display: none !important; }
.gf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Content that is not published yet */
.gf-soon-card { cursor: default; position: relative; }
.gf-soon-card:hover { text-decoration: none !important; border-color: inherit; }
.gf-soon { display: inline-block; align-self: flex-start; margin: 0 0 8px; padding: 3px 10px; border: 1px solid #E2D7C4; border-radius: 999px;
  font: 600 11px/1.4 Inter, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #5F574C; background: #F7F2E8; }
.gf-soon-path { font-weight: 600; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: #5F574C; }

/* Form messages */
.gf-form-msg { margin: 12px 0 0; padding: 12px 16px; border-radius: 2px; font: 500 15px/1.5 Inter, system-ui, sans-serif; }
.gf-form-msg.is-ok { background: #EAF2EC; color: #2F6B4F; border-left: 3px solid #2F6B4F; }
.gf-form-msg.is-err { background: #F8E9E9; color: #A3262B; border-left: 3px solid #A3262B; }
.gf-form-msg:focus { outline: 2px solid #9C4A2B; outline-offset: 2px; }
.gf-email-band .gf-form-msg.is-ok, [style*="background: #202020"] .gf-form-msg.is-ok { background: rgba(247,242,232,.12); color: #F7F2E8; border-left-color: #B79555; }

/* Notify Me dialog */
.gf-dialog { width: min(480px, calc(100vw - 32px)); border: 1px solid #E2D7C4; border-radius: 4px; padding: 36px 32px 28px; background: #FCFBF8;
  box-shadow: 0 8px 40px rgba(32,32,32,.28); color: #303030; box-sizing: border-box; }
.gf-dialog::backdrop { background: rgba(32,32,32,.55); }
.gf-dialog__x { position: absolute; top: 8px; right: 8px; }
.gf-dialog h2 { margin: 6px 0 8px; }
.gf-dialog__text { margin: 0 0 20px; font-size: 16px; line-height: 1.55; }
.gf-dialog__form { display: grid; gap: 14px; }
.gf-dialog .gf-fine a { color: #9C4A2B; }

/* Mobile drawer */
.gf-drawer { position: sticky; top: 57px; z-index: 9; background: #FCFBF8; border-bottom: 1px solid #E2D7C4; padding: 8px 16px 20px;
  box-shadow: 0 12px 24px rgba(32,32,32,.08); display: grid; gap: 12px; }
.gf-drawer__nav { list-style: none; margin: 0; padding: 0; display: grid; }
.gf-drawer__nav a { display: block; padding: 13px 4px; border-bottom: 1px solid #E2D7C4; color: #202020; text-decoration: none; font: 400 17px/1.3 Inter, system-ui, sans-serif; }
.gf-drawer__nav a[aria-current="page"] { color: #9C4A2B; font-weight: 600; }
@media (min-width: 901px) { .gf-drawer { display: none !important; } }

/* 404 */
.gf-404 { max-width: 760px; margin: 0 auto; padding: 120px 32px; display: grid; gap: 20px; text-align: center; justify-items: center; }
.gf-404 p:last-child { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* Phones: the Shop Books button moves into the menu so the header fits */
@media (max-width: 560px) {
  .gf-header__actions > .gf-btn { display: none; }
  .gf-header__logo img { height: 32px; }
}
@media (max-width: 640px) {
  .gf-lead-magnet { grid-template-columns: minmax(0, 1fr) !important; padding: 24px !important; }
  .gf-lead-magnet > * { min-width: 0; }
  .gf-btn { max-width: 100%; white-space: normal; text-align: center; line-height: 1.25; padding-top: 10px; padding-bottom: 10px; }
}
.gf-footer ul { align-content: start; }
