/* Dogge Party Booking — frontend booking form (premium, on-brand, self-contained). */
.dpb-form{
  --dpb-indigo:#01008C; --dpb-indigo-2:#3b39c9; --dpb-cream:#FBF7EF; --dpb-ink:#171532;
  --dpb-muted:#6f6f76; --dpb-ring:rgba(1,0,140,.14); --dpb-tint:#f4f3ff; --dpb-pill:999px;
  font-family:europa,"Poppins",system-ui,-apple-system,sans-serif; color:var(--dpb-ink);
  box-sizing:border-box; max-width:720px; margin:1.6rem auto 0; display:grid; gap:1.05rem;
  background:#fff; border:1px solid #ece6d8; border-radius:24px;
  padding:clamp(1.5rem,4vw,2.6rem); box-shadow:0 18px 40px -22px rgba(1,0,140,.35);
}
.dpb-form *{box-sizing:border-box}

/* header */
.dpb-form__head{display:grid; gap:.3rem; margin-bottom:.1rem}
.dpb-eyebrow{justify-self:start; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-size:.68rem; color:var(--dpb-indigo); background:var(--dpb-ring);
  padding:.32rem .7rem; border-radius:var(--dpb-pill)}
.dpb-form__title{font-family:"Comic Sans MS","Comic Neue",cursive; line-height:1.1; margin:.25rem 0 0;
  font-size:clamp(1.3rem,3.4vw,1.7rem); color:var(--dpb-ink)}
.dpb-form__hint{margin:0; color:var(--dpb-muted); font-size:.95rem}

/* fields */
.dpb-form label.dpb-field, .dpb-form .dpb-field{display:grid; gap:.4rem; font-weight:700; font-size:.95rem; color:var(--dpb-ink)}
.dpb-label{font-weight:700; font-size:.95rem; color:var(--dpb-ink)}
.dpb-form input, .dpb-form textarea{
  width:100%; padding:.8rem .95rem; border:1.5px solid var(--dpb-ring); border-radius:14px;
  font:inherit; font-weight:500; color:var(--dpb-ink); background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.dpb-form input::placeholder, .dpb-form textarea::placeholder{color:#9a99ad; font-weight:500}
.dpb-form input:focus, .dpb-form textarea:focus{
  outline:none; border-color:var(--dpb-indigo); box-shadow:0 0 0 4px var(--dpb-ring);
}
.dpb-form textarea{min-height:110px; resize:vertical}
.dpb-row{display:grid; grid-template-columns:1fr 1fr; gap:1.05rem}

/* available-time chips */
.dpb-slots{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.55rem;
  color:var(--dpb-muted); font-size:.92rem}
.dpb-form .dpb-slot{
  display:flex; align-items:center; justify-content:center; text-align:center; min-height:46px;
  padding:.55rem .75rem; border:1.5px solid var(--dpb-ring); border-radius:14px;
  background:var(--dpb-tint); color:var(--dpb-indigo); font-weight:700; font-size:.9rem; line-height:1.2;
  cursor:pointer; transition:transform .14s ease, background .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.dpb-form .dpb-slot:hover{transform:translateY(-2px); border-color:var(--dpb-indigo); box-shadow:0 10px 22px -14px rgba(1,0,140,.5)}
.dpb-form .dpb-slot.is-selected{background:var(--dpb-indigo); border-color:var(--dpb-indigo); color:#fff; box-shadow:0 12px 26px -12px rgba(1,0,140,.55)}

/* submit */
.dpb-form .dpb-submit{
  justify-self:start; margin-top:.15rem; padding:.95rem 2.1rem; border:0; border-radius:var(--dpb-pill);
  background:var(--dpb-indigo); color:#fff; font-weight:700; font-size:1rem; cursor:pointer;
  box-shadow:0 14px 30px -14px rgba(1,0,140,.5); transition:transform .18s ease, background .18s ease;
}
.dpb-form .dpb-submit:hover{transform:translateY(-2px); background:var(--dpb-indigo-2)}
.dpb-message{margin:.1rem 0 0; font-weight:600; color:var(--dpb-ink)}
.dpb-hp{position:absolute; left:-9999px}

@media (max-width:600px){
  .dpb-form{gap:.85rem; border-radius:18px}
  .dpb-slots{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
  .dpb-form .dpb-submit{justify-self:stretch; text-align:center}
}
@media (prefers-reduced-motion:reduce){ .dpb-form *{transition:none!important} }
