:root{--bg:#fffdfa;--ink:#2b2622;--muted:#6e645b;--accent:#b5482f;--accent-d:#8f3822;--line:#e8dfd4;--card:rgba(255,253,250,.94);--ok:#2f6b3f;--err:#a3271b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2}
/* parallax: camada fixa, deslocada via JS; troque a imagem em --bg-img */
.parallax{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.parallax__img{position:absolute;left:0;right:0;top:-10vh;height:120vh;background:var(--bg-img,url(/img/casal.webp)) 50% 30%/cover no-repeat;will-change:transform}
.spacer{height:min(58vh,520px)}
.wrap{max-width:720px;margin:0 auto;padding:0 16px 48px}
.card{background:var(--card);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 6px 24px rgba(60,40,20,.10)}
.card h1{font-size:1.7rem;margin:0 0 12px;text-align:center}
.card h2{font-size:1.2rem;margin:0 0 12px}
.card p{margin:.6em 0}
.sign{text-align:center;color:var(--muted);margin-top:16px}
label.field{display:block;font-weight:600;margin-bottom:6px}
input[type=text],input[type=password],textarea{width:100%;padding:12px;border:1px solid #cfc3b5;border-radius:10px;font:inherit;background:#fff;color:inherit}
input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.item:focus-within{outline:3px solid #e0a58f;outline-offset:2px}
.items{list-style:none;margin:8px 0 0;padding:0}
.item{display:flex;gap:12px;align-items:flex-start;padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px}
.item:hover{background:#f7f0e8}
.item input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:none}
.item small{display:block;color:var(--muted)}
.pixbox{margin:4px 0 8px 42px;padding:12px;border:1px dashed var(--accent);border-radius:10px;background:#fff7f2;font-size:.95rem}
.pixbox code{font-size:1.05rem;font-weight:700;word-break:break-all}
.btn{appearance:none;border:0;background:var(--accent);color:#fff;font:inherit;font-weight:600;padding:12px 22px;border-radius:10px;cursor:pointer;min-height:44px}
.btn:hover{background:var(--accent-d)}
.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn.small{padding:6px 12px;min-height:34px;font-size:.9rem}
.btn.danger{background:var(--err)}
.msg{padding:10px 12px;border-radius:10px;margin:12px 0}
.msg.err{background:#fdecea;color:var(--err)}
.msg.ok{background:#e8f4ea;color:var(--ok)}
.hint{color:var(--muted);font-size:.9rem}
.sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--card) 30%);padding:16px 0 4px}
.hidden{display:none!important}
/* admin */
.admin body,body.admin{background:var(--bg)}
.wrap.wide{max-width:980px}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:.8rem;background:#eee}
.tag.free{background:#e8f4ea;color:var(--ok)}.tag.taken{background:#fff1d6;color:#8a5a00}.tag.off{background:#eee;color:#666}
.tabs{display:flex;gap:8px;margin-bottom:16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-aspect-ratio:1/1){.parallax__img{top:0;height:100vh;background-size:100% auto;background-position:50% 0}.spacer{height:calc(100vw / 1.5 - 28px)}}
