:root{--red:#c8102e;--dark:#202329;--muted:#6b7078;--line:#e2e5e9;--soft:#f5f6f8}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#202329;font-family:Arial,sans-serif}header{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1160px)/2))}header img{width:310px;max-height:72px;object-fit:contain;object-position:left}header a{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--red)}header small{color:var(--muted)}.hero{background:#fff;padding:50px max(24px,calc((100vw - 1160px)/2))}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:bold}.hero h1,.success h1{font-size:43px;margin:10px 0}.hero>p:last-child,.success>p{color:var(--muted);font-size:17px}.booking,.success{max-width:1160px;margin:30px auto 50px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:36px;box-shadow:0 15px 45px #1f29370e}.booking h2{margin:32px 0 18px;font-size:22px}.booking h2:first-of-type{margin-top:0}.categories{display:grid;grid-template-columns:1fr 1fr;gap:13px}.category{position:relative;border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;grid-template-columns:48px 1fr;gap:14px;cursor:pointer}.category input,.dates input,.slot input{position:absolute;opacity:0}.category:has(input:checked){border-color:var(--red);box-shadow:0 0 0 2px #c8102e12}.category .icon{width:46px;height:46px;border-radius:9px;background:#fbeff1;color:var(--red);display:grid;place-items:center;font-size:21px}.category>span:last-child{display:flex;flex-direction:column;gap:5px}.category em{color:var(--red);font-style:normal;font-size:12px;font-weight:bold}.category small{color:var(--muted);line-height:1.45}.category strong{font-size:11px}.dates{display:flex;gap:8px;overflow:auto;padding-bottom:6px}.dates label span{min-width:70px;border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;flex-direction:column;text-align:center;font-size:11px}.dates b{font-size:20px;margin:3px}.dates input:checked+span,.slot input:checked+span{background:var(--red);border-color:var(--red);color:#fff}.hint{font-size:12px;color:var(--muted);background:var(--soft);padding:12px;border-radius:8px}#slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot span{display:block;border:1px solid var(--line);border-radius:8px;text-align:center;padding:11px;cursor:pointer}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.formgrid label,.stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:bold}.formgrid input,.formgrid textarea,.stack input,.stack textarea,select{border:1px solid #d7dbe0;border-radius:8px;padding:13px;font:inherit}.wide{grid-column:1/-1}.check{flex-direction:row!important;align-items:flex-start;font-weight:normal!important}.check input{width:auto}.primary{background:var(--red);color:#fff;border:0;border-radius:8px;padding:14px 20px;font-weight:bold;text-decoration:none;cursor:pointer}.booking>form>.primary{display:block;margin:24px 0 0 auto}.error,.ok{padding:13px 16px;border-radius:8px;margin:12px 0}.error{background:#fff0f2;color:#9d0c25}.ok{background:#eaf7ee;color:#217744}.success{text-align:center;max-width:720px}.success>i{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--red);color:#fff;font-size:30px;margin:auto}.success section{display:grid;gap:12px;background:var(--soft);padding:20px;border-radius:10px;margin:25px 0}.success section span{display:flex;justify-content:space-between}footer{min-height:160px;background:var(--dark);color:#fff;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;font-size:13px}.adminbg{background:#f2f4f6}.login{width:min(430px,calc(100% - 30px));margin:8vh auto;background:#fff;padding:32px;border-radius:15px;display:flex;flex-direction:column;gap:15px;box-shadow:0 20px 60px #0002}.login img{width:100%;height:100px;object-fit:contain}.login input{padding:14px;border:1px solid var(--line);border-radius:8px}.login a{text-align:center;color:var(--muted)}nav{background:var(--dark);color:#fff;padding:18px max(20px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between}nav span{display:flex;gap:18px}nav a{color:#fff;text-decoration:none}.adminwrap{max-width:1160px;margin:35px auto;padding:0 20px}.admincard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;margin-bottom:18px}.admincard h2{margin-top:0}.admingrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bookingrow,.catrow{display:grid;grid-template-columns:170px 1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.bookingrow div,.catrow div{display:flex;flex-direction:column;gap:4px}.bookingrow small,.catrow small{color:var(--muted);font-size:12px}.catrow>a,.catrow button{border:0;background:transparent;color:var(--red);cursor:pointer}.stack{display:flex;flex-direction:column;gap:14px}.googlebox{background:var(--soft);padding:18px;border-radius:9px}.googlebox p{color:var(--muted);line-height:1.5}.googlebox button:disabled{opacity:.5}
@media(max-width:720px){header{height:80px}header img{width:210px;height:56px}header small{display:none}.hero h1,.success h1{font-size:33px}.booking{margin:18px 12px;padding:22px}.categories,.formgrid,.admingrid{grid-template-columns:1fr}#slots{grid-template-columns:repeat(2,1fr)}.bookingrow,.catrow{grid-template-columns:1fr}.wide{grid-column:auto}nav b{font-size:12px}nav span{gap:10px;font-size:12px}}
