*{box-sizing:border-box;font-family:Inter, system-ui, Arial, sans-serif}
.body-bg{ /* optional wrapper style if needed */ }
body{margin:0;color:#111;background:linear-gradient(#f3f2ee,#f7f7f5)}
/* If you have the provided background image, save it as `bg.jpg` in the project root and it will be used */
body{background-image: url('bg.jpg');background-size:cover;background-position:center;}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1b5e20;color:#fff}
.logo{font-weight:700;font-size:20px}
.logo{cursor:pointer}
.nav button{margin-right:8px;border:none;background:transparent;color:#fff;cursor:pointer}
main{padding:20px}
.hero{background:url('https://picsum.photos/1200/400?blur=2') center/cover;padding:40px;color:#fff;text-align:center;border-radius:6px}
.hero h1{font-size:36px;margin:0}
.sub{opacity:.95}
.cta-row{margin-top:18px}
.btn{padding:10px 14px;border-radius:6px;border:0;cursor:pointer}
.btn.primary{background:#d4b83d;color:#111}
.view{max-width:1100px;margin:20px auto}
.hidden{display:none}
.card{background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.08);margin-bottom:12px}
.auth-card{max-width:520px;margin:20px auto}
.tabs{display:flex}
.tabs button{flex:1;padding:10px;border-radius:6px;border:1px solid #eee;background:#fafafa}
.tabs button.active{background:#fff;border-bottom:2px solid #d4b83d}
.form label{display:block;margin:8px 0}
.form input, .form select{width:100%;padding:8px;margin-top:6px}
.form-actions{margin-top:10px}
.admin-grid{display:grid;grid-template-columns:1fr 380px;gap:12px}
.form-inline{display:flex;gap:8px;flex-wrap:wrap}
.form-inline input{flex:1;min-width:120px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.place{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.place img{width:100%;height:140px;object-fit:cover}
.place .body{padding:10px}
.place h4{margin:0 0 6px}
.place .meta{font-size:14px;color:#666}
.site-footer{padding:28px 20px 40px;text-align:center;margin-top:30px;background:#163a13;color:#fff}
.site-footer .footer-inner{max-width:900px;margin:20px auto}
.muted{opacity:.95;color:#dfe9dc;margin-top:6px}

/* Modal removed per user request */

/* Admin customer bookings card */
#customer-bookings-list .booking-row{padding:8px;border-bottom:1px solid #eee}
#places-list .place-row{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #eee}
#bookings-list .booking-row{padding:8px;border-bottom:1px solid #eee}

/* Inline booking form inside a place card */
.inline-booking{margin-top:12px;padding:10px;border-top:1px dashed #e6e6e6;background:transparent}
.inline-booking label{display:block;margin:8px 0}
.inline-booking input,.inline-booking textarea{width:100%;padding:8px;margin-top:6px}
.inline-booking .form-actions{margin-top:8px}

@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.site-header{flex-direction:column;align-items:flex-start}.hero h1{font-size:28px}}
