/* Contact form Guest book consent and private signature pad. */
.guestbook-signup{padding:24px;border:1px solid var(--line,#dadce0);border-radius:12px;background:#fafbfc}
.guestbook-signup legend{padding:0 8px;font-size:20px}
.guestbook-intro{margin:0 0 14px}
.guestbook-consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:15px}
.guestbook-consent input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:var(--blue,#1967d2)}
.guestbook-consent:has(input:focus-visible){outline:2px solid var(--blue,#1967d2);outline-offset:6px;border-radius:4px}
#guestbook-details{border-top:1px solid var(--line,#dadce0);margin-top:20px;padding-top:20px}
.guestbook-signature-control{margin:18px 0 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.guestbook-signature-control .hint{flex-basis:100%;margin:0}
.guestbook-text-button{color:var(--blue,#1967d2);background:transparent;text-decoration:underline;text-underline-offset:3px;border-radius:6px;padding:10px 0}
.guestbook-signature-preview{display:block;max-width:100%;width:300px;height:90px;background:#fff;border:1px solid var(--line,#dadce0);border-radius:6px}
#guestbook-typed-wrap{margin-top:16px}
#guestbook-typed-wrap .hint{margin-top:6px}
.guestbook-signature-dialog{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:#f1f3f4;color:#202124;overflow:hidden;overscroll-behavior:none;z-index:2147483647}
.guestbook-signature-dialog::backdrop{background:rgba(32,33,36,.7)}
.guestbook-signature-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 32px);height:calc(100vh - 32px);height:calc(100dvh - 32px);max-width:1100px;max-height:650px;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:14px;background:white;box-shadow:0 4px 28px #0002;direction:ltr}
.guestbook-signature-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.guestbook-signature-heading h2{font-size:22px;margin:0 0 4px}
.guestbook-signature-heading p{font-size:13px;margin:0;line-height:1.4}
.guestbook-signature-close{flex-shrink:0}
#guestbook-signature-canvas{display:block;flex:1;min-height:70px;width:100%;border:1px solid #9aa0a6;border-radius:8px;background:linear-gradient(to bottom,transparent 74%,#e5e8ed 74%,#e5e8ed calc(74% + 1px),transparent calc(74% + 1px)),#fff;touch-action:none;cursor:crosshair}
#guestbook-signature-canvas:focus-visible{outline:3px solid var(--blue,#1967d2);outline-offset:2px}
.guestbook-signature-message{font-size:12px;line-height:1.3;min-height:16px;margin:0}
.guestbook-signature-actions{display:flex;gap:10px;align-items:center}
#guestbook-signature-save{margin-left:auto}
.guestbook-signature-sheet button{min-height:42px;white-space:nowrap}
body.guestbook-signing{overflow:hidden;overscroll-behavior:none}
@media(max-width:700px) and (orientation:portrait){
  .guestbook-signature-sheet{width:calc(100vh - 24px);width:calc(100dvh - 24px);height:calc(100vw - 24px);max-width:none;max-height:none;transform:translate(-50%,-50%) rotate(90deg);padding:14px;gap:7px}
  .guestbook-signature-heading h2{font-size:19px;margin-bottom:2px}
  .guestbook-signature-heading p{font-size:12px}
  .guestbook-signature-sheet button{font-size:13px;padding:9px 15px;min-height:38px}
}
@media(max-height:440px) and (orientation:landscape){
  .guestbook-signature-sheet{padding:12px;gap:6px;height:calc(100dvh - 16px);width:calc(100vw - 16px)}
  .guestbook-signature-heading h2{font-size:18px;margin:0}
  .guestbook-signature-heading p{font-size:12px}
  .guestbook-signature-sheet button{padding:7px 14px;min-height:36px;font-size:13px}
}
@media(max-width:450px){.guestbook-signup{padding:18px}.guestbook-signature-control{gap:8px}}

.guestbook-signature-sheet:fullscreen{inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;transform:none;border-radius:0}

.guestbook-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.guestbook-entry{margin:0}.guestbook-entry h2{font-size:23px;margin:0 0 18px;overflow-wrap:anywhere}.guestbook-entry dl{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin:0;font-size:14px}.guestbook-entry dt{color:var(--muted)}.guestbook-entry dd{margin:0;overflow-wrap:anywhere}@media(max-width:650px){.guestbook-entries{grid-template-columns:1fr}}
