:root{
  --hv-primary:#0ea5e9;
  --hv-accent:#f59e0b;
  --hv-ink:#0f172a;
  --hv-muted:#64748b;
  --hv-bg:#f8fafc;
  --hv-ring: 0 0 0 3px rgba(14,165,233,.2);
}

.hv-order-wrap{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,"Apple Color Emoji","Segoe UI Emoji"; color:var(--hv-ink);}

.hv-form{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:20px;
  box-shadow: 0 6px 20px rgba(2,6,23,.06);
}

.hv-grid{
  display:grid; grid-template-columns:1fr; gap:16px;
}
.hv-field--full{ grid-column:1 / -1; }
.hv-field label{display:block; font-weight:600; margin-bottom:6px;}
.hv-field label span{color:#ef4444}
.hv-field input{
  width:100%; padding:12px 14px; border:2px solid #e5e7eb; border-radius:10px; font-size:16px; transition:.2s;
}
.hv-field input:focus{border-color:var(--hv-primary); outline:none; box-shadow: var(--hv-ring);}
.hv-field input.hv-error{border-color:#ef4444;}

.hv-packages{ margin-top:16px; }
.hv-packages__head{ display:flex; justify-content:space-between; align-items:end; }
.hv-packages__head h3{ margin:0 0 6px; font-size:18px; }
.hv-packages__head h3 span{ color:#ef4444; }
.hv-small{ color:var(--hv-muted); font-size:13px; margin:0 0 8px; }

.hv-package-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
}

.hv-card{
  display:flex; align-items:center; gap:10px;
  padding:12px 12px;
  border:2px solid #e5e7eb;
  border-radius:12px;
  cursor:pointer;
  line-height:1.35;
  transition:.2s;
  background:#fff;
  user-select:none;
}
.hv-card:hover{ border-color:#cbd5e1; box-shadow: 0 3px 12px rgba(2,6,23,.05); }
.hv-card input{ display:none; }
.hv-card__check{
  width:20px; height:20px; border:2px solid #cbd5e1; border-radius:50%; display:inline-block; position:relative; flex:0 0 auto;
}
.hv-card input:checked + .hv-card__check{
  border-color:var(--hv-primary); background:radial-gradient(circle at 50% 50%, var(--hv-primary) 45%, transparent 46%);
}
.hv-card__text{ flex:1; font-size:15px; }

.hv-btn{
  display:inline-flex; align-items:center; gap:10px;
  margin-top:16px;
  background: var(--hv-primary);
  color:#fff; border:none; border-radius:999px;
  padding:14px 18px; font-weight:700; letter-spacing:.3px; cursor:pointer;
  width:100%; transition:.2s; position:relative;
  box-shadow: 0 10px 20px rgba(14,165,233,.25);
}
.hv-btn:hover{ filter:brightness(.95); transform:translateY(-1px); }
.hv-btn:active{ transform:translateY(0); }
.hv-btn__spinner{
  width:18px;height:18px;border:3px solid rgba(255,255,255,.5); border-top-color:#fff;border-radius:50%;
  animation: hvspin .8s linear infinite; opacity:0; position:absolute; right:16px;
}
.hv-btn.loading .hv-btn__spinner{ opacity:1; }
.hv-btn.loading .hv-btn__text{ opacity:.35; }

@keyframes hvspin { to { transform: rotate(360deg); } }

.hv-form-title{ margin:0 0 14px; font-size:22px; line-height:1.2; font-weight:700; color:var(--hv-ink); }

/* WhatsApp FAB brand look */
.hv-whatsapp-fab{
  position:fixed; right:18px; bottom:18px; z-index:9999;
  width:60px; height:60px; display:flex; align-items:center; justify-content:center;
  background:#25D366; color:#fff;
  border-radius:999px;
  border:2px solid #ffffff;
  box-shadow:0 14px 34px rgba(37,211,102,.35);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.hv-whatsapp-fab:hover{ transform:translateY(-2px) scale(1.03); filter:brightness(.97); box-shadow:0 18px 40px rgba(37,211,102,.45); }
.hv-whatsapp-fab:active{ transform:translateY(0) scale(.98); }
.hv-whatsapp-fab .fa-whatsapp{ font-size:28px; line-height:1; }
