:root{--ink:#4b4a39;--muted:#6b6a59;--sand:#eae6e0;--cream:#f5f1eb;--white:#fff;--danger:#9b2c2c;--success:#267247;--shadow:0 18px 50px rgba(75,74,57,.12)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:linear-gradient(160deg,var(--cream),var(--sand));min-height:100vh}a{color:inherit}.reservation-header{background:var(--ink);padding:12px 5%;box-shadow:0 3px 18px rgba(0,0,0,.18)}.reservation-header a{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:600;max-width:1080px;margin:auto}.reservation-header img{object-fit:contain}.reservation-main{width:min(920px,calc(100% - 28px));margin:34px auto 60px}.reservation-card{background:var(--white);border-radius:18px;padding:clamp(22px,5vw,42px);margin-bottom:22px;box-shadow:var(--shadow)}h1,h2{font-family:'Playfair Display',serif;margin-top:0}h1{font-size:clamp(2rem,6vw,3rem);line-height:1.1}h2{font-size:1.45rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:8px}.important-note,.alert{padding:15px 17px;border-radius:10px;background:var(--cream);border-left:4px solid var(--ink);line-height:1.55}.alert-error{background:#fff1f1;border-color:var(--danger);color:#762020}.alert-success{background:#edf8f1;border-color:var(--success);color:#1d5b38}fieldset{border:0;padding:0;margin:30px 0}legend{font-family:'Playfair Display',serif;font-weight:700;font-size:1.35rem;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.93rem}input,textarea,select{width:100%;font:inherit;border:1px solid #c9c5bd;border-radius:9px;padding:12px 13px;color:var(--ink);background:#fff}input:focus,textarea:focus,select:focus{outline:3px solid rgba(75,74,57,.16);border-color:var(--ink)}.field-error{display:block;min-height:1em;color:var(--danger);font-weight:400}.form-hint,.privacy-copy{font-size:.83rem;color:var(--muted)}.checks{display:grid;gap:10px}.checks label{display:grid;grid-template-columns:20px 1fr;align-items:start;font-weight:400}.checks input{width:auto;margin-top:4px}.primary-button,.secondary-button{display:flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:13px 20px;font:600 1rem Poppins,sans-serif;cursor:pointer;text-decoration:none}.primary-button{width:100%;background:var(--ink);color:#fff}.secondary-button{background:var(--sand);color:var(--ink);border:1px solid #d3cec6}.inline{display:inline-flex;width:auto}.primary-button:hover{background:#363528}.primary-button:disabled{opacity:.65;cursor:wait}.button-loading{display:none}.is-loading .button-label{display:none}.is-loading .button-loading{display:inline}.honeypot{position:absolute;left:-10000px}.reservation-footer{text-align:center;padding:24px;color:var(--muted);font-size:.85rem}.success-card{text-align:center;max-width:700px;margin-left:auto;margin-right:auto}.success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:var(--success);color:white;font-size:2rem}.text-link{display:block;margin-top:20px}.summary{margin:25px 0}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd8d0;border:1px solid #ddd8d0;border-radius:12px;overflow:hidden}.summary div{background:#fff;padding:15px}.summary dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.summary dd{margin:5px 0 0;font-weight:600}.status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.status-badge{display:inline-flex;border-radius:999px;padding:7px 11px;background:var(--cream);font-size:.72rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.status-reserva_confirmada,.status-finalizada{background:#dff3e7;color:#1d5b38}.status-recusada,.status-expirada,.status-cancelada{background:#f8dddd;color:#762020}.qr-code{display:block;width:min(280px,100%);height:auto;margin:20px auto;border-radius:14px}.pix-label textarea{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;word-break:break-all}.copy-feedback{display:block;min-height:25px;color:var(--success);font-size:.85rem;margin-top:6px}.upload-form{display:grid;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid var(--sand)}progress{width:100%}@media(max-width:640px){.form-grid,.summary-grid{grid-template-columns:1fr}.status-row{display:block}.status-badge{margin-bottom:18px}.reservation-main{margin-top:18px}.reservation-card{border-radius:14px;padding:22px}.reservation-header span{font-size:.9rem}}
