.guestbook-page { color: #d6d4cb; background: radial-gradient(ellipse at 50% 15%, #26352b 0, #0f1412 65%); }
.guestbook-nav { display:flex; justify-content:space-between; gap:20px; max-width:1140px; margin:auto; padding:26px 28px; font-size:13px; }
.guestbook-nav span { color:var(--gold); letter-spacing:2px; white-space:nowrap; }
.guestbook-hero { text-align:center; padding:35px 24px 54px; }
.guestbook-hero img { margin:0 auto 22px; }
.guestbook-hero .eyebrow { font-size:12px; letter-spacing:3px; color:var(--gold); text-transform:uppercase; }
.guestbook-hero h1 { font-family:var(--font-garamond); color:var(--cream); font-size:clamp(48px,7vw,82px); line-height:1.04; margin:24px 0; }
.guestbook-hero h1 em { color:var(--gold); font-weight:400; }
.guestbook-hero > p:last-child { max-width:640px; margin:auto; line-height:1.8; }
.guestbook-main { width:min(100% - 40px,760px); margin:auto; }
.guestbook-paper { background:#f4f0e6; color:#494e43; padding:44px 48px; border:1px solid #bba474; box-shadow:0 18px 65px #0005; border-radius:3px; }
.guestbook-kicker { color:#756030; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:12px; }
.guestbook-paper h2,.guestbook-messages h2 { font-family:var(--font-garamond); font-size:clamp(32px,5vw,42px); line-height:1.15; }
.guestbook-paper h2 { color:#24362b; margin-bottom:12px; }
.guestbook-paper fieldset { border:0; margin:0; padding:0; min-width:0; }
.guestbook-paper label { display:block; font-size:14px; font-weight:600; margin:24px 0 8px; color:#29362e; }
.guestbook-paper label span { font-weight:400; color:#65695f; }
.guestbook-paper input,.guestbook-paper textarea { width:100%; border:1px solid #a9ab9d; background:#fffdf8; border-radius:3px; padding:14px; font:400 16px/1.6 var(--font-body); color:#25342b; }
.guestbook-paper textarea { resize:vertical; min-height:170px; }
.guestbook-paper input::placeholder,.guestbook-paper textarea::placeholder { color:#707568; opacity:1; }
.guestbook-page :focus-visible { outline:3px solid #a68032; outline-offset:4px; }
.guestbook-hints { display:flex; justify-content:space-between; gap:20px; font-size:12px; margin-top:5px; }
#message-count { white-space:nowrap; }
#guestbook-verification { margin-top:20px; min-height:0; }
.guestbook-privacy { font-size:12px; margin-top:18px; line-height:1.7; }
.guestbook-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid #283c30; border-radius:3px; background:#283c30; color:#fbf8ef; padding:15px 24px; font:500 14px/1.5 var(--font-body); cursor:pointer; min-height:48px; }
.guestbook-button:hover { background:#3e5444; color:#fff; }
.guestbook-button:disabled { opacity:.55; cursor:wait; }
#send-message { width:100%; }
#form-feedback { margin-top:15px; color:#8c2923; font-size:14px; }
#availability { padding:12px 0; font-size:14px; }
#thank-you { text-align:center; padding:30px 0; }
.guestbook-heart { font-size:56px; color:#80692e; line-height:1; }
.guestbook-signature { font-family:var(--font-script); font-size:30px; color:#455a46; margin-top:25px; }
.guestbook-messages { padding:66px 0 30px; }
.guestbook-messages > h2 { color:var(--cream); }
.guestbook-messages > .guestbook-kicker { color:var(--gold); }
.guestbook-note { border-top:1px solid #c6a85a55; padding:27px 0; overflow-wrap:anywhere; }
.guestbook-note p { font-family:var(--font-garamond); font-size:25px; line-height:1.5; white-space:pre-wrap; color:#f4f0e6; }
.guestbook-note footer { color:var(--gold); font-size:13px; }
.guestbook-note time { display:block; color:#b8beb4; font-size:11px; margin-top:4px; }
.guestbook-page [hidden] { display:none !important; }
.guestbook-admin { max-width:900px; margin:auto; padding:35px 24px; }
.guestbook-admin h1 { color:var(--cream); font-size:44px; }
.guestbook-admin-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
@media(max-width:540px) {
 .guestbook-nav { padding:20px; font-size:12px; }.guestbook-nav span { letter-spacing:1px; }
 .guestbook-hero { padding:25px 22px 35px; }.guestbook-hero .eyebrow { letter-spacing:2px; font-size:10px; }
 .guestbook-paper { padding:30px 22px; }.guestbook-hints { flex-wrap:wrap; gap:3px; }.guestbook-hints span:first-child { flex-basis:100%; }
 .desktop-break { display:none; }.guestbook-messages { padding-top:45px; }
}
