/*
 * Komponen khusus halaman /faq/ dan /kontak-booking/ (agen faq-kontak).
 * Semua kelas baru diberi prefix `fk-` sesuai prompts/_f2-bersama.md.
 * Memakai token dari ltm.css (warna, radius, shadow), tidak menimpanya.
 */

/* ============ FAQ: navigasi lompat kategori ============ */
.fk-jump-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-bottom:8px;
}

/* ============ FAQ: grid kategori ============ */
.fk-cat-grid{
  display:grid;
  gap:56px;
}
.fk-cat h2{
  font-size:clamp(22px,2.6vw,28px);
  margin-bottom:20px;
  scroll-margin-top:96px;
}

/* ============ Kontak: kartu info ============ */
.fk-info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.fk-info-card{
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 24px;
}
.fk-info-ic{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--brand-50);
  color:var(--brand-600);
  margin-bottom:16px;
}
.fk-info-ic svg{width:22px;height:22px}
.fk-info-card h3{font-size:16px;margin-bottom:8px}
.fk-info-card p{color:var(--ink-2)}
.fk-info-card a{color:var(--brand-600);font-weight:600}
.fk-info-card a:hover{text-decoration:underline}
.fk-info-card .link-arrow{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:var(--brand-600)}

/* ============ Kontak: form booking ============ */
.fk-form-wrap{max-width:640px;margin:0 auto}
.fk-form{
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.fk-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.fk-field{display:flex;flex-direction:column;gap:6px}
.fk-label{font-size:14px;font-weight:600;color:var(--ink)}
.fk-input,.fk-select,.fk-textarea{
  font-family:var(--ff-body);
  font-size:15px;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  width:100%;
}
.fk-input:focus,.fk-select:focus,.fk-textarea:focus{
  outline:2px solid var(--brand-500);
  outline-offset:1px;
}
.fk-input.is-invalid,.fk-select.is-invalid,.fk-textarea.is-invalid{
  border-color:#c0392b;
}
.fk-textarea{resize:vertical;min-height:88px}
.fk-error{
  font-size:13px;
  color:#c0392b;
  min-height:16px;
}
.fk-submit{width:100%}
.fk-note{
  font-size:13px;
  color:var(--ink-3);
  text-align:center;
  margin-top:-4px;
}

@media (max-width:900px){
  .fk-info-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .fk-info-grid{grid-template-columns:1fr}
  .fk-row{grid-template-columns:1fr}
  .fk-form{padding:24px}
  .fk-jump-nav{gap:8px}
}
