:root{--sand: #f6e7c8;--sand-deep: #e8d2a0;--dirt: #4a3421;--steel: #1d232b;--digger-yellow: #f5b301;--digger-yellow-dark: #d99a00;--sky: #cfe8f7;--ok: #2e9e5b;--warn: #d9534f;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;color:var(--dirt);background:var(--sand)}h1{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.1;margin:.4em 0}h2{margin:1.4em 0 .5em}a{color:var(--digger-yellow-dark)}.page{max-width:880px;margin:0 auto;padding:1.5rem}.center{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.muted{color:#8a7a5f}.small{font-size:.85rem}.logo{font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--dirt)}.accent{color:var(--digger-yellow-dark)}.btn{display:inline-block;border:2px solid var(--steel);border-radius:var(--radius);padding:.55em 1.1em;font:inherit;font-weight:700;text-decoration:none;color:var(--steel);background:transparent;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--digger-yellow);box-shadow:0 4px 0 var(--digger-yellow-dark)}.btn-ghost{background:#ffffff8c}.btn-big{font-size:1.15rem;padding:.8em 1.6em}.btn-link{border:none;background:none;color:var(--digger-yellow-dark);font:inherit;cursor:pointer;text-decoration:underline;margin-top:1rem}.test-mode-banner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;padding:.8rem 1.5rem;background:repeating-linear-gradient(-45deg,var(--digger-yellow),var(--digger-yellow) 18px,var(--steel) 18px,var(--steel) 36px)}.test-mode-note{background:var(--sand);border-radius:var(--radius);padding:.3rem .8rem}.landing-nav,.portal-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;max-width:1000px;margin:0 auto}.nav-right{display:flex;gap:.8rem;align-items:center}.hero{text-align:center;padding:3rem 1.5rem 1rem;max-width:760px;margin:0 auto}.hero-badge{display:inline-block;background:var(--steel);color:var(--digger-yellow);border-radius:999px;padding:.3em 1em;font-size:.75rem;font-weight:800;letter-spacing:.12em}.hero-sub{font-size:1.15rem;line-height:1.55}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0}.hero-pit{font-size:4rem;background:linear-gradient(var(--sky),var(--sand-deep));border-radius:var(--radius);padding:1.5rem;display:flex;justify-content:center;gap:1rem;border:3px solid var(--steel)}.pit-digger{animation:trundle 6s ease-in-out infinite alternate;display:inline-block}@keyframes trundle{0%{transform:translate(-40px)}to{transform:translate(40px)}}.strip{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;background:var(--steel);color:var(--sand);padding:.9rem 1rem;font-weight:700;margin:2rem 0}.how,.pricing{max-width:880px;margin:0 auto;padding:0 1.5rem 1rem;text-align:center}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}.steps li{background:#fff9;border:2px solid var(--sand-deep);border-radius:var(--radius);padding:1.2rem}.step-emoji{font-size:2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin:1rem 0}.card{background:#fff;border:3px solid var(--steel);border-radius:var(--radius);padding:1.5rem;box-shadow:0 6px 0 var(--sand-deep)}.card-minutes{font-weight:800;letter-spacing:.06em}.card-price{font-size:2.4rem;font-weight:800;color:var(--digger-yellow-dark);margin:.2em 0 .4em}.landing-footer{display:flex;flex-direction:column;gap:.3rem;align-items:center;padding:2.5rem 1rem;background:var(--sand-deep);margin-top:2rem}.auth-box{background:#fff;border:3px solid var(--steel);border-radius:var(--radius);box-shadow:0 8px 0 var(--sand-deep);padding:2rem;width:min(420px,92vw)}.auth-box form{display:flex;flex-direction:column;gap:.8rem}.auth-box input{font:inherit;padding:.6em .8em;border:2px solid var(--sand-deep);border-radius:10px}.auth-box input:focus{outline:2px solid var(--digger-yellow)}.drive-now{text-align:center;background:var(--steel);color:var(--sand);border-radius:var(--radius);padding:1.6rem;margin:1rem 0 2rem}.drive-now h2{margin-top:0;color:var(--digger-yellow)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.booking-list{list-style:none;padding:0}.booking{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:#fff9;border:2px solid var(--sand-deep);border-radius:10px;padding:.7rem 1rem;margin-bottom:.5rem}.booking-when{font-weight:700;min-width:11em}.chip{border-radius:999px;padding:.15em .8em;font-size:.8rem;font-weight:700;background:var(--sand-deep)}.chip-confirmed{background:var(--ok);color:#fff}.chip-pending{background:var(--digger-yellow)}.chip-cancelled,.chip-expired{background:#ccc}.duration-row,.day-row{display:flex;gap:.6rem;flex-wrap:wrap}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin:.8rem 0 1.4rem}.slot{font:inherit;font-weight:700;padding:.6em 0;border:2px solid var(--steel);border-radius:10px;background:#fff;cursor:pointer}.slot:hover{background:var(--sand-deep)}.slot-picked{background:var(--digger-yellow);box-shadow:0 3px 0 var(--digger-yellow-dark)}.checkout-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;position:sticky;bottom:0;background:var(--sand);border-top:2px solid var(--sand-deep);padding:1rem 0}.error{color:var(--warn);font-weight:700;margin:.6rem 0}.notice{background:var(--digger-yellow);border-radius:10px;padding:.6rem 1rem;font-weight:700;margin:.8rem 0}.btn-danger{border-color:var(--warn);color:#fff;background:var(--warn)}.chip-admin{background:var(--steel);color:var(--digger-yellow)}.chip-blackout{background:var(--steel);color:var(--sand)}.admin-user{font-weight:700;overflow-wrap:anywhere}.blackout-form{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;margin:.8rem 0 1.2rem}.blackout-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:700}.blackout-form input{font:inherit;padding:.45em .6em;border:2px solid var(--steel);border-radius:10px;background:#fff}.conflict-box{border:2px solid var(--warn);border-radius:var(--radius);padding:.8rem 1rem;margin:.8rem 0;background:#d9534f14}.conflict-box h3{margin:0 0 .5rem;color:var(--warn)}.success-box{max-width:520px}.success-emoji{font-size:4rem}
