:root{
  --orange:#D8621A;
  --orange-dark:#A84A11;
  --orange-light:#FAE0C7;
  --charcoal:#2B2B2B;
  --grey:#6E6E6E;
  --placeholder:#E1E1E1;
  --placeholder-border:#C8C8C8;
  --booked:#EDEDED;
  --line:#DDDDDD;
  --cream:#FAFAF8;
  --white:#FFFFFF;
  --green:#4C8C5B;
  --sidebar:#3C2E22;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Inter',Arial,sans-serif;
  color:var(--charcoal);
  background:var(--cream);
}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1140px; margin:0 auto; padding:0 30px;}

/* NAV */
.nav{
  background:var(--orange);
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 30px;
  max-width:1140px; margin:0 auto;
  position:relative;
}
.logo{color:var(--white); font-size:20px; font-weight:800; letter-spacing:0.02em;}
.nav-links{display:flex; gap:34px; font-size:15px; font-weight:600;}
.nav-links a{color:var(--white); opacity:0.85; padding-bottom:6px; border-bottom:2px solid transparent;}
.nav-links a.active{opacity:1; border-color:var(--white);}
.burger{display:none; width:34px; height:34px; border:1.5px solid rgba(255,255,255,0.7); border-radius:6px; align-items:center; justify-content:center; cursor:pointer;}
.nav-toggle{display:none;}

/* HERO (homepage only) */
.hero{background:var(--orange-dark); color:var(--white);}
.hero .wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; padding:64px 30px 64px;}
.hero h1{font-size:clamp(28px,3.6vw,38px); line-height:1.25; margin:0 0 14px; font-weight:800;}
.hero p{font-size:16px; line-height:1.55; margin:0 0 26px; opacity:0.92; max-width:460px;}
.placeholder-box{
  background:var(--placeholder); border:1px solid var(--placeholder-border); border-radius:4px;
  display:flex; align-items:center; justify-content:center; color:var(--grey); font-size:14px; min-height:180px;
}

.btn{display:inline-block; padding:15px 26px; border-radius:8px; font-weight:700; font-size:15px; cursor:pointer; border:none;}
.btn-primary{background:var(--orange); color:var(--white);}
.btn-outline{background:var(--white); color:var(--orange-dark); border:1.5px solid var(--orange);}

/* PAGE HEADER (non-hero pages) */
.page-header{padding:44px 0 8px;}
.page-header h1{font-size:26px; margin:0 0 8px; font-weight:800;}
.page-header p{color:var(--grey); font-size:15px; margin:0;}

/* FEATURE CARDS (home) */
.features{padding:60px 0 70px;}
.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.feature-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:30px 26px;}
.feature-circle{width:44px; height:44px; border-radius:50%; background:var(--orange-light); border:1px solid var(--orange); margin-bottom:18px;}
.feature-card h3{font-size:17px; margin:0; font-weight:700;}

/* PACKAGES */
.packages-section{padding:34px 0 70px;}
.section-head h2{font-size:26px; margin:0 0 8px; font-weight:800;}
.section-head p{color:var(--grey); font-size:15px; margin:0 0 34px;}
.packages{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.package-card{background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.package-photo{
  height:140px; margin:20px 20px 0; background:var(--placeholder); border:1px solid var(--placeholder-border);
  display:flex; align-items:center; justify-content:center; color:var(--grey); font-size:13px;
}
.package-body{padding:20px;}
.package-body h3{margin:0 0 6px; font-size:18px; font-weight:700;}
.price{color:var(--orange-dark); font-weight:700; font-size:15px; display:block; margin-bottom:18px;}
.btn-select{width:100%; background:var(--orange); color:var(--white); border:none; padding:13px 20px; border-radius:6px; font-weight:700; font-size:14.5px; cursor:pointer;}

/* BOOKING FORM PAGE */
.booking-layout{display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:30px 0 70px;}
.field{margin-bottom:22px;}
.field label{display:block; font-weight:700; font-size:14px; margin-bottom:8px;}
.field input, .field textarea{
  width:100%; border:1px solid var(--line); border-radius:6px; padding:12px 14px;
  font-family:'Inter',Arial,sans-serif; font-size:14.5px; color:var(--charcoal); background:var(--white);
}
.field textarea{resize:vertical; min-height:80px;}
.calendar-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:24px;}
.calendar-card h3{margin:0 0 16px; font-size:16px; font-weight:700;}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:8px;}
.cal-cell{
  border:1px solid var(--line); border-radius:4px; text-align:center; padding:10px 0; font-size:13.5px; background:var(--white);
}
.cal-cell.booked{background:var(--booked); color:var(--grey); border-color:var(--line);}
.cal-note{font-size:12.5px; color:var(--grey); margin-top:14px;}
.form-actions{display:flex; justify-content:flex-end; margin-top:8px;}

/* CONFIRMATION PAGE */
.confirmation-wrap{display:flex; justify-content:center; padding:60px 0 90px;}
.confirm-card{
  background:var(--white); border:1px solid var(--line); border-radius:8px;
  max-width:460px; width:100%; padding:44px 40px; text-align:center;
}
.check-circle{
  width:64px; height:64px; border-radius:50%; background:var(--green); color:var(--white);
  display:flex; align-items:center; justify-content:center; margin:0 auto 22px; font-size:30px;
}
.confirm-card h2{margin:0 0 10px; font-size:22px; font-weight:800;}
.confirm-card > p{color:var(--grey); font-size:14.5px; margin:0 0 26px;}
.confirm-details{
  background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:18px 20px;
  text-align:left; font-size:14px; line-height:1.9; margin-bottom:28px;
}
.confirm-actions{display:flex; gap:12px;}
.confirm-actions .btn{flex:1;}

/* OWNER DASHBOARD */
.dashboard{display:grid; grid-template-columns:220px 1fr; min-height:calc(100vh - 46px);}
.sidebar{background:var(--sidebar); color:#fff; padding:26px 22px;}
.sidebar .side-label{font-size:12px; letter-spacing:0.08em; color:#D9A67E; font-weight:700; margin-bottom:20px;}
.sidebar a{display:block; padding:12px 10px; border-radius:6px; font-size:14.5px; font-weight:600; color:#EAD9C9; margin-bottom:4px;}
.sidebar a.active{background:var(--orange); color:#fff;}
.dashboard-main{padding:34px 36px;}
.dashboard-main h1{font-size:22px; margin:0 0 22px; font-weight:800;}
.dash-layout{display:grid; grid-template-columns:1fr 300px; gap:28px;}
.dcal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:8px;}
.dcal-head{font-size:12.5px; color:var(--grey); text-align:center; font-weight:700; padding-bottom:6px;}
.dcal-cell{border:1px solid var(--line); border-radius:4px; padding:8px; min-height:56px; font-size:13px; background:var(--white);}
.dcal-cell.booked{background:var(--orange); color:#fff; border-color:var(--orange);}
.dcal-cell .tag{display:block; font-size:11px; font-weight:700; margin-top:6px;}
.requests-panel{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:22px;}
.requests-panel h3{margin:0 0 18px; font-size:16px; font-weight:700;}
.request-item{margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--line);}
.request-item:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.request-item p{margin:0 0 10px; font-size:14px;}
.request-actions{display:flex; gap:8px;}
.btn-accept{flex:1; background:var(--orange); color:#fff; border:none; padding:9px 0; border-radius:5px; font-weight:700; font-size:13.5px; cursor:pointer;}
.btn-decline{flex:1; background:#fff; color:var(--charcoal); border:1px solid var(--line); padding:9px 0; border-radius:5px; font-weight:700; font-size:13.5px; cursor:pointer;}

/* LOGIN PAGE */
.login-wrap{display:flex; justify-content:center; padding:60px 0 90px;}
.login-card{background:var(--white); border:1px solid var(--line); border-radius:8px; max-width:440px; width:100%; padding:36px 36px 30px;}
.login-card h2{margin:0 0 22px; font-size:20px; font-weight:800;}
.login-actions{display:flex; justify-content:flex-end; margin-top:20px;}
.login-error{color:#B3261E; font-size:13.5px; margin-top:14px; display:none;}
.login-error.show{display:block;}

/* FORM ERROR */
.form-error{color:#B3261E; font-size:13.5px; margin-top:10px; display:none;}
.form-error.show{display:block;}
.cal-cell{cursor:pointer;}
.cal-cell.booked{cursor:not-allowed;}
.cal-cell.selected{background:var(--orange); color:#fff; border-color:var(--orange);}
.cal-cell.disabled{color:var(--placeholder-border); cursor:not-allowed;}

/* FOOTER */
footer{background:#3C3C3C; color:#DDDDDD; padding:18px 0; font-size:13.5px;}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
footer .credit{color:#E8B98F; font-weight:600;}

@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero-art{order:-1;}
  .feature-grid,.packages{grid-template-columns:1fr;}
  .booking-layout{grid-template-columns:1fr;}
  .dash-layout{grid-template-columns:1fr;}
  .dashboard{grid-template-columns:1fr;}
  .sidebar{display:flex; gap:6px; overflow-x:auto; padding:16px 20px;}
  .sidebar .side-label{display:none;}
  .burger{display:flex;}
  .nav-links{
    position:absolute; top:70px; left:0; right:0; background:var(--orange);
    flex-direction:column; padding:10px 30px 20px; gap:0;
    transform:scaleY(0); transform-origin:top; transition:transform .18s ease;
  }
  .nav-links a{width:100%; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.2);}
  .nav-toggle:checked ~ .nav-links{transform:scaleY(1);}
}
@media(min-width:821px){ .burger{display:none;} }
