/* Booking landing page styles — DS Electrical */
/* Extends shared.css; requires Outfit + JetBrains Mono loaded */

.book-hero{
  background:linear-gradient(145deg,var(--dark) 0%,var(--dark2) 70%,var(--dark3) 100%);
  color:var(--text-light);
  padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,5vw,4rem) clamp(3rem,5vw,5rem);
  position:relative;
  overflow:hidden;
}
.book-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at top right,rgba(212,164,74,0.14),transparent 55%);
  pointer-events:none;
}
.book-hero-inner{
  max-width:900px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.book-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.35em;
  color:var(--gold);
  margin-bottom:1.25rem;
}
.book-hero h1{
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:1.2rem;
  color:var(--text-light);
}
.book-hero h1 .price-big{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  color:var(--gold);
  font-size:clamp(3rem,8vw,6rem);
  font-weight:900;
  line-height:1;
  margin-right:.75rem;
  vertical-align:baseline;
}
.book-hero h1 .price-sub{
  display:inline-block;
  font-size:clamp(1rem,2vw,1.3rem);
  color:var(--text-light-muted);
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  vertical-align:baseline;
}
.book-sub{
  color:var(--text-light-muted);
  font-size:clamp(1rem,1.6vw,1.2rem);
  line-height:1.65;
  max-width:640px;
  margin-bottom:2.2rem;
}
.book-cta-row{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:2rem;
}
.btn-xl{
  padding:1rem 2.4rem;
  font-size:1rem;
  border-radius:8px;
}
.book-trust{
  display:flex;
  gap:clamp(.8rem,2.5vw,2rem);
  flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;
  color:var(--text-light-muted);
  letter-spacing:.04em;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.book-trust span{white-space:nowrap}

/* "What's included" */
.book-what{
  background:var(--light);
  padding:clamp(4rem,7vw,6rem) clamp(1.5rem,5vw,4rem);
}
.book-what-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:clamp(2rem,4vw,4rem);
}
.book-col h2{
  font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:800;
  color:var(--text-dark);
  margin-bottom:1.5rem;
  letter-spacing:-0.01em;
}
.book-checks{list-style:none;padding:0;margin:0}
.book-checks li{
  padding:.9rem 0 .9rem 2rem;
  position:relative;
  color:var(--text-dark);
  line-height:1.5;
  border-bottom:1px solid var(--light3);
  font-size:.98rem;
}
.book-checks li:last-child{border-bottom:none}
.book-checks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.85rem;
  color:var(--gold);
  font-weight:900;
  font-size:1.1rem;
}
.book-note{
  margin-top:1.5rem;
  padding:1.25rem 1.4rem;
  background:var(--light2);
  border-left:3px solid var(--gold);
  border-radius:6px;
  font-size:.95rem;
  line-height:1.6;
  color:var(--text-dark);
}
.book-note a{color:var(--brass);font-weight:700;text-decoration:none}
.book-note a:hover{text-decoration:underline}

/* Booking form */
.book-form-sec{
  background:var(--light2);
  padding:clamp(4rem,7vw,6rem) clamp(1.5rem,5vw,4rem);
  border-top:1px solid var(--light3);
}
.book-form-wrap{
  max-width:640px;
  margin:0 auto;
}
.book-form-wrap h2{
  font-size:clamp(1.6rem,3vw,2.3rem);
  font-weight:900;
  color:var(--text-dark);
  margin-bottom:.6rem;
  letter-spacing:-0.01em;
}
.book-form-sub{
  color:var(--text-muted);
  margin-bottom:2.2rem;
  font-size:1rem;
}
.book-form{
  display:flex;
  flex-direction:column;
  gap:1.1rem;
}
.book-form label{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.book-form input,
.book-form textarea,
.book-form select{
  padding:.95rem 1.1rem;
  border:1.5px solid var(--light3);
  border-radius:6px;
  font-family:'Outfit',sans-serif;
  font-size:1rem;
  background:#fff;
  color:var(--text-dark);
  transition:border-color .15s, box-shadow .15s;
  text-transform:none;
  letter-spacing:normal;
  font-weight:400;
}
.book-form input:focus,
.book-form textarea:focus,
.book-form select:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(212,164,74,0.18);
}
.book-form textarea{resize:vertical;min-height:56px}
.book-form button[type=submit]{
  margin-top:.8rem;
  justify-content:center;
  width:100%;
}
.book-form-foot{
  text-align:center;
  margin-top:1.2rem;
  font-size:.88rem;
  color:var(--text-muted);
}
.book-form-foot a{color:var(--brass);font-weight:700}

/* Success state */
.book-form.sent{
  padding:2.5rem;
  background:#fff;
  border-radius:10px;
  text-align:center;
  border:2px solid var(--gold);
}
.book-form.sent .book-sent-msg{
  font-size:1.2rem;
  font-weight:800;
  color:var(--text-dark);
  margin-bottom:.5rem;
}

@media (max-width:640px){
  .book-hero h1 .price-big{font-size:3rem;display:block;margin:.5rem 0 .2rem}
  .book-hero h1 .price-sub{display:block}
  .book-cta-row{flex-direction:column}
  .btn-xl{width:100%;justify-content:center}
  .book-trust{font-size:.7rem;gap:.7rem}
}
