:root{--paper:#f5f0e6;--ink:#231f1a;--muted:#756c61;--red:#8d2f23;--red-dark:#682119;--line:#d8cdbd;--white:#fffdf8;--green:#265b42}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.5}.site-header{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--red);text-decoration:none;display:flex;flex-direction:column;letter-spacing:.1em;font-family:Georgia,serif;font-size:20px;font-weight:bold}.brand small{font:10px Arial,sans-serif;color:var(--muted);letter-spacing:.18em}.phone{color:var(--ink);font-weight:bold;text-decoration:none;border-bottom:1px solid var(--ink)}main{min-height:calc(100vh - 176px)}.booking-shell{max-width:1180px;margin:auto;padding:72px 32px 88px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,500px);gap:9vw;align-items:start}.intro{padding-top:35px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:bold;color:var(--red)}h1,h2{font-family:Georgia,"Times New Roman",serif}.intro h1{font-size:clamp(46px,6vw,78px);line-height:.98;margin:26px 0}.intro h1 em{color:var(--red);font-weight:normal}.intro>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:18px}.intro dl{margin-top:60px;border-top:1px solid var(--line)}.intro dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;font-weight:bold}.booking-form{background:var(--white);padding:38px;box-shadow:0 18px 50px rgba(55,40,24,.1);border-top:4px solid var(--red)}.form-heading{display:flex;gap:14px;margin-bottom:24px}.form-heading>span{color:var(--red);font-family:Georgia,serif;font-size:28px}.form-heading h2{margin:0;font-size:28px}.form-heading p{margin:2px 0;color:var(--muted);font-size:13px}.booking-form label{display:block;font-size:13px;font-weight:bold;margin-top:17px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:13px 14px;min-height:48px;border-radius:0;color:var(--ink);font:16px Arial,sans-serif}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid var(--red);outline-offset:1px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form button,.primary-link{margin-top:24px;background:var(--red);color:white;border:0;min-height:52px;width:100%;padding:14px 20px;font-weight:bold;font-size:15px;display:flex;justify-content:space-between;align-items:center;text-decoration:none}.booking-form button:hover,.primary-link:hover{background:var(--red-dark)}.privacy{font-size:11px!important;text-align:center;color:var(--muted);margin:12px 0 0}.alert{padding:12px 14px;margin:16px 0;font-size:14px}.alert.error{background:#f8e4df;color:#731f16}.alert.success{background:#deeee6;color:var(--green)}footer{min-height:94px;border-top:1px solid var(--line);padding:24px clamp(20px,5vw,72px);display:flex;gap:26px;align-items:center;color:var(--muted);font-size:13px}footer strong{color:var(--ink);margin-right:auto}.success-card{max-width:650px;margin:70px auto;padding:52px;background:var(--white);text-align:center;box-shadow:0 18px 50px rgba(55,40,24,.1)}.success-mark{margin:auto;width:58px;height:58px;display:grid;place-items:center;background:var(--green);color:white;border-radius:50%;font-size:28px}.success-card h1{font-size:46px;margin:10px 0}.receipt{margin:32px 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.receipt div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.receipt span{font-size:12px;color:var(--muted)}.primary-link{justify-content:center}.text-link{display:inline-block;margin-top:18px;color:var(--red)}.admin-shell{max-width:1200px;margin:auto;padding:50px 28px}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.admin-heading h1{font-size:48px;margin:3px 0}.admin-heading a{background:var(--red);color:white;padding:12px 18px;text-decoration:none;font-weight:bold}.table-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.table-summary span{background:var(--white);border:1px solid var(--line);padding:7px 10px;font-size:12px}.booking-list{border-top:1px solid var(--line)}.booking-item{display:grid;grid-template-columns:150px minmax(220px,1fr) 130px 160px;gap:20px;align-items:center;padding:20px 8px;border-bottom:1px solid var(--line)}.booking-item.cancelled{opacity:.55}.date-block,.guest,.assignment,.status{display:flex;flex-direction:column}.date-block strong{font:26px Georgia,serif}.date-block span,.guest a,.guest small,.assignment span{font-size:13px;color:var(--muted)}.guest a{color:var(--red)}.status>span{font-size:12px;font-weight:bold;color:var(--green)}.status button{margin-top:6px;border:0;background:none;color:var(--red);padding:0;text-align:left;text-decoration:underline;cursor:pointer}.empty{padding:70px;text-align:center;border:1px solid var(--line);background:var(--white)}@media(max-width:780px){.site-header{height:70px}.booking-shell{grid-template-columns:1fr;padding:38px 18px 60px;gap:38px}.intro{padding-top:0}.intro h1{font-size:46px}.intro dl{margin-top:30px}.booking-form{padding:26px 20px}.row{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column;gap:4px}footer strong{margin:0}.success-card{margin:24px 16px;padding:34px 20px}.success-card h1{font-size:36px}.admin-heading{align-items:flex-start;gap:20px;flex-direction:column}.admin-heading h1{font-size:38px}.booking-item{grid-template-columns:1fr 1fr;gap:12px}.status{align-items:flex-end}.assignment{text-align:right}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .18s,color .18s}}
