:root{
  --wine:#8f0015;
  --gold:#cf961f;
  --cream:#fffaf1;
  --ink:#241b1d;
  --muted:#786b6e;
  --line:#ead7b9;
  --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 4%;background:#fff;border-bottom:2px solid var(--gold)}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:155px;height:auto}
.brand h1{margin:0;color:var(--wine);font:700 22px "Playfair Display",serif}
.brand p{margin:3px 0 0;color:var(--muted)}
select,input,button{font:inherit}
select{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
main{max-width:900px;margin:auto;padding:34px 20px 55px}
.hero{margin-bottom:24px}
.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.22em;font-size:13px}
.hero h2{margin:8px 0;color:var(--wine);font:700 38px "Playfair Display",serif}
.hero p{color:var(--muted)}
.card,.receipt{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 36px rgba(68,35,0,.08)}
.form-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px}
label span{display:block;margin-bottom:8px;font-weight:700}
input[type=text],input:not([type]){width:100%;padding:13px 14px;border:1px solid #dfc8a8;border-radius:12px;outline:none}
input:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(143,0,21,.08)}
.full{grid-column:1/-1}
.terms-box{padding:18px 20px;background:#fff7e5;border:1px solid #e6ba53;border-left:5px solid var(--gold);border-radius:14px}
.terms-box h3{margin:0 0 10px;color:var(--wine)}
.terms-box p{margin:0;line-height:1.65}
.agree{display:flex;align-items:flex-start;gap:10px}
.agree input{margin-top:3px}
.agree span{font-weight:500;margin:0}
.actions{display:flex;gap:12px;flex-wrap:wrap}
button{border:0;border-radius:11px;padding:12px 18px;font-weight:700;cursor:pointer}
.primary{background:var(--wine);color:#fff}
.secondary{background:#f4eadb;color:var(--wine)}
.hidden{display:none!important}
.receipt{margin-top:26px;padding:34px;min-height:900px}
.receipt-header{display:flex;align-items:center;gap:20px}
.receipt-header img{width:170px}
.receipt-header h2{margin:0;color:var(--wine);font-size:23px}
.receipt-header p{margin:7px 0 0;letter-spacing:.06em}
.rule{height:2px;background:var(--gold);margin:20px 0}
.receipt-info p{font-size:17px;margin:15px 0}
.confirmation{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:14px}
.confirmation h3{text-align:center;color:var(--wine);margin-top:0}
.confirmation p{line-height:1.75;text-align:justify}
.place-date{text-align:right;margin:30px 0}
.signatures{display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:center;margin-top:25px}
.signatures h4{margin-bottom:4px}
.signatures p{margin-top:0;color:var(--muted);font-size:13px}
.signature-line{height:100px;border-bottom:1px dotted #777}
.receipt-actions{margin-top:30px}
footer{text-align:center;color:var(--muted);padding:0 20px 30px}
@media(max-width:700px){.topbar{align-items:flex-start}.brand img{width:115px}.brand h1{font-size:16px}.brand p{font-size:12px}.hero h2{font-size:30px}.form-card{grid-template-columns:1fr;padding:20px}.full{grid-column:auto}.receipt-header{align-items:flex-start}.receipt-header img{width:120px}.receipt-header h2{font-size:18px}.signatures{gap:20px}}
@page{size:A4 portrait;margin:15mm}
@media print{
  body{background:#fff}
  .no-print{display:none!important}
  main{max-width:none;padding:0}
  .receipt{display:block!important;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;min-height:auto}
  .receipt-header img{width:50mm}
  .receipt-header h2{font-size:18pt}
  .receipt-info p{font-size:12pt;margin:12px 0}
  .confirmation{margin-top:20px;padding:16px}
  .confirmation p{font-size:11.5pt;line-height:1.65}
  .place-date{margin:26px 0}
  .signature-line{height:45mm}
}
.form-row-three {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr;
  gap: 16px;
  grid-column: 1 / -1;
  align-items: end;
}

.form-row-three label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-row-three input {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .form-row-three {
    grid-template-columns: 1fr;
  }
}
