/* Improved chalet-style CSS */
:root{
  --wood:#8B5E3C;
  --accent:#D35400;
  --bg:#F5F0E1;
  --muted:#9aa3a8;
  --card:#ffffff;
  --text:#2C3E50;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased;}
.header{background:linear-gradient(180deg, rgba(139,94,60,0.95), rgba(139,94,60,0.85)); color:#fff; padding:48px 16px; text-align:center; position:relative; overflow:hidden;}
.header h1{font-family:Georgia, 'Times New Roman', serif; font-size:36px; margin:0 0 8px;}
.header p{margin:0; opacity:0.95;}
.container{max-width:1100px;margin: -36px auto 40px; padding:0 16px;}
.card{background:var(--card); border-radius:16px; padding:22px; box-shadow:0 10px 30px rgba(32,32,32,0.08);}
.grid-2{display:grid; grid-template-columns:1fr 420px; gap:20px;}
@media(max-width:920px){ .grid-2{grid-template-columns:1fr;} .container{margin-top:10px} }
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px;}
.gallery img{width:100%; height:160px; object-fit:cover; border-radius:12px; transition:transform .25s ease;}
.gallery img:hover{transform:scale(1.03);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media(max-width:600px){ .form-row{grid-template-columns:1fr;} }
label{display:block; font-weight:600; margin-top:10px;}
input[type="text"], input[type="email"], input[type="date"], select{width:100%; padding:12px; border-radius:10px; border:1px solid #e6e6e6; margin-top:6px;}
.btn{background:var(--accent); color:#fff; border:none; padding:12px 16px; border-radius:12px; font-weight:700; cursor:pointer;}
.btn.secondary{background:#6b4f2d;}
.cal .row{display:grid; grid-template-columns:repeat(7,1fr); gap:8px;}
.cal .cell{min-height:54px; display:flex; align-items:flex-start; justify-content:center; padding:8px; border-radius:10px; background:#fff; border:1px solid #f0f0f0;}
.cell.busy{background:#ffecec;border:1px solid #ffd3d3;}
.cell.free{background:#f0fff4;border:1px solid #dff5dd;}
.cell.muted{opacity:0.45}
.table{width:100%; border-collapse:collapse;}
.table th, .table td{padding:10px; border-bottom:1px solid #f0f0f0; text-align:center;}
.table th{background:var(--wood); color:#fff; font-weight:700;}
.table tr:nth-child(even){background:#fbfbfb;}
.small{font-size:0.9rem; color:var(--muted);}
footer{padding:28px 0; text-align:center; color:var(--muted);}