/* Layout for booking page */
.booking-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:24px;
}
.form-title{grid-column:1/-1;margin:0 0 6px}
.form-grid{
  display:grid;gap:14px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.form-grid label{display:grid;gap:8px;font-weight:600}
.form-grid input,
.form-grid select,
.form-grid textarea{
  padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;
  font:inherit;background:#fff;outline:0;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus{
  border-color:#2a7a7a; box-shadow:0 0 0 4px rgba(42,122,122,.15);
}
.span-2{grid-column:1/-1}

/* Phone row */
.phone-row{display:flex;gap:8px}
.phone-row select{max-width:190px}

/* Side cards */
.side{display:grid;gap:18px}
.card{
  background:#f8fafc;border-radius:16px;padding:18px;
  box-shadow:0 10px 25px rgba(2,8,23,.06);
}
.card h3{margin:0 0 8px}
.summary{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.summary li{display:flex;align-items:center;justify-content:space-between}
.summary .divider{height:1px;background:#e2e8f0;margin:4px 0}
.paypal-wrap{margin-top:12px}
.tiny-note{font-size:.85rem;color:#64748b;margin:8px 0 0}

/* Responsive */
@media (max-width: 900px){
  .booking-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .phone-row select{max-width:140px}
}
