/* Bening Hati Qurani (BHQ) Travel — Form Konsultasi WhatsApp
   Semua class di-prefix bhq-k- agar tidak bentrok dengan tema WordPress */

.bhq-k-root{
  --bhq-deep:#062A1F;
  --bhq-emerald:#0E4D36;
  --bhq-mid:#16814F;
  --bhq-lime:#7FE6A6;
  --bhq-lime-soft:rgba(127,230,166,0.16);
  --bhq-gold:#D9B24C;
  --bhq-gold-light:#F0D480;
  --bhq-cream:#FBF8F1;
  --bhq-cream-soft:#FFFFFF;
  --bhq-ink:#10241C;
  --bhq-ink-soft:#516358;
  --bhq-danger:#C0392B;

  font-family:'Plus Jakarta Sans', sans-serif;
  color:var(--bhq-ink);
  -webkit-font-smoothing:antialiased;
  box-sizing:border-box;
  background:var(--bhq-cream);
  color-scheme:light;
}
.bhq-k-root *, .bhq-k-root *::before, .bhq-k-root *::after{ box-sizing:inherit; }

@media (prefers-reduced-motion: reduce){
  .bhq-k-root *{ animation:none !important; transition:none !important; }
  .bhq-k-reveal{ opacity:1 !important; transform:none !important; }
}

.bhq-k-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.bhq-k-reveal.bhq-k-visible{ opacity:1; transform:translateY(0); }

.bhq-k-hero{
  position:relative;
  background:radial-gradient(circle at 20% 15%, var(--bhq-mid), var(--bhq-emerald) 45%, var(--bhq-deep) 100%);
  padding:64px 6vw 60px;
  overflow:hidden;
  text-align:center;
}
.bhq-k-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(50px);
  pointer-events:none;
  opacity:0.55;
  animation:bhq-k-float 9s ease-in-out infinite;
}
.bhq-k-blob-1{ width:280px; height:280px; background:var(--bhq-lime); top:-90px; left:-60px; }
.bhq-k-blob-2{ width:220px; height:220px; background:var(--bhq-gold); bottom:-70px; right:-40px; animation-delay:2.4s; }
@keyframes bhq-k-float{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-16px) scale(1.06); }
}

.bhq-k-hero-inner{ position:relative; max-width:640px; margin:0 auto; }

.bhq-k-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(127,230,166,0.14);
  border:1px solid rgba(127,230,166,0.4);
  color:var(--bhq-lime);
  font-size:12.5px; font-weight:700;
  letter-spacing:0.04em;
  padding:8px 16px 8px 12px;
  border-radius:999px;
  margin-bottom:22px;
}
.bhq-k-badge svg{ width:15px; height:15px; }

.bhq-k-hero h2{
  font-family:'Amiri', serif; font-weight:700;
  font-size:clamp(30px, 5.4vw, 48px); line-height:1.16;
  color:var(--bhq-cream); margin:0 0 16px;
}
.bhq-k-hero h2 em{
  font-style:normal;
  background:linear-gradient(90deg, var(--bhq-gold-light), var(--bhq-lime));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.bhq-k-hero p{
  color:rgba(251,248,241,0.8); font-size:16px; line-height:1.7;
  max-width:520px; margin:0 auto 30px;
}

.bhq-k-stats{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.bhq-k-stat{
  display:flex; align-items:center; gap:9px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  padding:11px 16px; border-radius:14px;
}
.bhq-k-stat svg{ width:18px; height:18px; color:var(--bhq-gold-light); flex:none; }
.bhq-k-stat b{ display:block; font-size:15px; color:var(--bhq-cream); line-height:1.1; }
.bhq-k-stat span{ font-size:11px; color:rgba(251,248,241,0.65); }

.bhq-k-divider{
  height:34px;
  background-color:var(--bhq-deep);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cg fill='none' stroke='%23D9B24C' stroke-width='1' opacity='0.55'%3E%3Cpath d='M17 3 L21 13 L31 17 L21 21 L17 31 L13 21 L3 17 L13 13 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat-x;
  background-position:center;
}

.bhq-k-form-wrap{
  max-width:600px; margin:0 auto; padding:44px 6vw 64px; position:relative;
}
.bhq-k-card{
  background:var(--bhq-cream-soft);
  border-radius:26px;
  padding:40px 32px;
  box-shadow:0 30px 60px -28px rgba(6,42,31,0.4);
  position:relative;
  border:1px solid rgba(14,77,54,0.08);
  overflow:hidden;
}
.bhq-k-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:6px;
  background:linear-gradient(90deg, var(--bhq-mid), var(--bhq-lime), var(--bhq-gold));
}
.bhq-k-form-title{
  font-family:'Amiri', serif; font-size:23px; font-weight:700;
  color:var(--bhq-emerald); text-align:center; margin:8px 0 6px;
}
.bhq-k-form-sub{
  text-align:center; color:var(--bhq-ink-soft); font-size:13.5px;
  margin:0 0 28px; line-height:1.6;
}

.bhq-k-field{ margin-bottom:16px; }
.bhq-k-field label{
  display:flex; align-items:center; gap:7px;
  font-size:13px; font-weight:600; color:var(--bhq-ink); margin-bottom:6px;
}
.bhq-k-field label svg{ width:15px; height:15px; color:var(--bhq-mid); flex:none; }
.bhq-k-field label .bhq-k-req{ color:var(--bhq-danger); }
.bhq-k-field input,
.bhq-k-field select,
.bhq-k-field textarea{
  width:100%; padding:12px 14px; border-radius:11px;
  border:1.5px solid #E1E8E2; background-color:#F8FAF8 !important;
  font-family:inherit; font-size:14.5px; color:var(--bhq-ink) !important;
  color-scheme:light;
  -webkit-text-fill-color:var(--bhq-ink);
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.bhq-k-field select{
  cursor:pointer;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  line-height:1.5;
  min-height:46px;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23516358' stroke-width='2.2'%3E%3Cpath d='M5 8l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:15px !important;
}
.bhq-k-field select::-ms-expand{ display:none; }
.bhq-k-field select option{
  color:var(--bhq-ink);
  background-color:#F8FAF8;
}
.bhq-k-field input:focus,
.bhq-k-field select:focus,
.bhq-k-field textarea:focus{
  outline:none; border-color:var(--bhq-mid);
  box-shadow:0 0 0 4px var(--bhq-lime-soft);
}
.bhq-k-field textarea{ resize:vertical; min-height:84px; }
.bhq-k-field-error{ display:none; color:var(--bhq-danger); font-size:12.5px; margin-top:6px; }
.bhq-k-field.bhq-k-invalid input,
.bhq-k-field.bhq-k-invalid select{ border-color:var(--bhq-danger); }
.bhq-k-field.bhq-k-invalid .bhq-k-field-error{ display:block; }

.bhq-k-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px){
  .bhq-k-row-2{ grid-template-columns:1fr; }
  .bhq-k-card{ padding:32px 20px; }
  .bhq-k-hero{ padding:52px 6vw 48px; }
}

.bhq-k-submit{
  width:100%; padding:16px; border:none; border-radius:14px;
  background:linear-gradient(135deg, var(--bhq-mid), var(--bhq-emerald));
  color:#fff; font-size:15.5px; font-weight:700; font-family:inherit;
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px;
  margin-top:8px; transition:transform 0.15s ease, box-shadow 0.2s ease;
  box-shadow:0 16px 30px -12px rgba(14,77,54,0.55);
  position:relative;
}
.bhq-k-submit:hover{ transform:translateY(-2px); box-shadow:0 20px 36px -12px rgba(14,77,54,0.6); }
.bhq-k-submit:active{ transform:translateY(0); }
.bhq-k-submit svg{ width:19px; height:19px; flex:none; }

.bhq-k-trust-row{
  display:flex; justify-content:center; gap:18px; flex-wrap:wrap;
  margin-top:22px; padding-top:18px; border-top:1px dashed #E1E8E2;
}
.bhq-k-trust-item{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--bhq-ink-soft); }
.bhq-k-trust-item svg{ width:15px; height:15px; color:var(--bhq-mid); }

.bhq-k-float-wa{
  position:fixed; right:20px; bottom:20px;
  background:linear-gradient(135deg, #22C55E, #16A34A);
  color:#fff; width:60px; height:60px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 28px -8px rgba(22,163,74,0.65);
  text-decoration:none; z-index:9999;
}
.bhq-k-float-wa svg{ width:28px; height:28px; position:relative; z-index:2; }
.bhq-k-float-wa::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(34,197,94,0.55);
  animation:bhq-k-ring 2.2s ease-out infinite;
}
@keyframes bhq-k-ring{
  0%{ transform:scale(1); opacity:0.8; }
  100%{ transform:scale(1.6); opacity:0; }
}

.bhq-k-root a:focus-visible,
.bhq-k-root button:focus-visible,
.bhq-k-root input:focus-visible,
.bhq-k-root select:focus-visible,
.bhq-k-root textarea:focus-visible{
  outline:2px solid var(--bhq-gold); outline-offset:2px;
}
