/* Huaxia Journeys — extras: CTA blocks, social bar, floating contact bar */

.hxe-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- Buttons ---------- */
.hxe-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}
.hxe-btn:hover { transform: translateY(-2px); }
.hxe-btn:focus-visible { outline: 3px solid #b8d4ff; outline-offset: 2px; }

.hxe-btn-primary {
  background: #c8102e;
  color: #fff;
  box-shadow: 0 8px 22px rgba(200, 16, 46, .26);
}
.hxe-btn-primary:hover { background: #a50d25; color: #fff; }

.hxe-btn-whatsapp {
  background: #1f9d55;
  color: #fff;
  box-shadow: 0 8px 22px rgba(31, 157, 85, .24);
}
.hxe-btn-whatsapp:hover { background: #178544; color: #fff; }

.hxe-btn-ghost {
  background: #fff;
  color: #1f2937;
  border-color: #d5d9df;
}
.hxe-btn-ghost:hover { background: #f5f7fa; color: #111827; }

/* ---------- Form feedback messages ---------- */
.hj-form-error,
.hj-success {
  border-radius: 10px;
  padding: 16px 20px;
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
}
.hj-form-error {
  background: #fef3f2;
  border: 1px solid #fda29b;
  border-left: 5px solid #d92d20;
  color: #7a271a;
}
.hj-success {
  background: #ecfdf3;
  border: 1px solid #a6f4c5;
  border-left: 5px solid #0e9f6e;
  color: #05603a;
}

/* ---------- Destination CTA ---------- */
.hxe-cta {
  background: linear-gradient(135deg, #101828 0%, #1d2939 100%);
  color: #fff;
  padding: 56px 0;
  margin-top: 8px;
}
.hxe-cta .hxe-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
  justify-content: space-between;
}
.hxe-cta-copy { flex: 1 1 420px; min-width: 280px; }
.hxe-cta-copy h2 { color: #fff; margin: 0 0 12px; font-size: clamp(24px, 3.4vw, 34px); }
.hxe-cta-copy p  { color: #d3d8e0; margin: 0; font-size: 16px; line-height: 1.65; }
.hxe-eyebrow {
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  color: #e8b4bf;
  margin: 0 0 10px;
}
.hxe-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: 0 1 auto;
}

/* ---------- Share bar ---------- */
.hxe-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 22px 0 6px;
  border-top: 1px solid #e8eaee;
  margin-top: 32px;
}
.hxe-share-label { font-size: 14px; font-weight: 600; color: #4b5563; margin-right: 4px; }
.hxe-share-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid #dbe0e6;
  background: #fff;
  color: #374151;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.hxe-share-btn:hover { background: #f3f4f6; color: #111827; }
.hxe-fb:hover   { background: #1877f2; color: #fff; border-color: #1877f2; }
.hxe-x:hover    { background: #000; color: #fff; border-color: #000; }
.hxe-li:hover   { background: #0a66c2; color: #fff; border-color: #0a66c2; }
.hxe-wa:hover   { background: #1f9d55; color: #fff; border-color: #1f9d55; }
.hxe-copy:hover { background: #374151; color: #fff; border-color: #374151; }

/* ---------- Footer connect block ---------- */
.hxe-connect {
  background: #0b1220;
  color: #e6e9ef;
  padding: 44px 0 40px;
}
.hxe-connect .hxe-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
}
.hxe-connect-col { flex: 1 1 320px; }
.hxe-connect-col h3 {
  color: #fff;
  font-size: 15px;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-weight: 700;
}
.hxe-connect-btns, .hxe-social { display: flex; flex-wrap: wrap; gap: 10px; }
.hxe-connect .hxe-btn-ghost {
  background: transparent;
  color: #e6e9ef;
  border-color: #3a4353;
}
.hxe-connect .hxe-btn-ghost:hover { background: #172033; color: #fff; }
.hxe-social-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 10px;
  background: #172033;
  color: #e6e9ef;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: background .16s ease, transform .16s ease;
}
.hxe-social-btn:hover { transform: translateY(-2px); color: #fff; }
.hxe-s-facebook:hover  { background: #1877f2; }
.hxe-s-instagram:hover { background: #c13584; }
.hxe-s-tiktok:hover    { background: #000; }
.hxe-s-youtube:hover   { background: #ff0033; }

/* ---------- Mobile floating bar ---------- */
.hxe-floatbar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9998;
  display: none;
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -4px 20px rgba(16, 24, 40, .16);
  border-top: 1px solid #e5e7eb;
}
.hxe-float {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  padding: 0 8px;
  text-align: center;
}
.hxe-float-wa   { background: #1f9d55; }
.hxe-float-mail { background: #374151; }
.hxe-float-plan { background: #c8102e; }

/* ---------- WeChat: click-to-copy ---------- */
button.hxe-btn,
button.hxe-float {
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}

button.hxe-float { border: 0; cursor: pointer; }
.hxe-float span { line-height: 1.18; }

.hxe-float-wechat { background: #07c160; }
.hxe-float-wechat:hover { background: #06ad56; }

.hxe-btn-wechat { background: #fff; color: #1f2937; border-color: #d5d9df; }
.hxe-btn-wechat:hover { background: #f5f7fa; color: #111827; }

/* ---------- WeChat button inside injected page content ---------- */
.hjx-wechat-btn {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  -webkit-appearance: none;
  appearance: none;
}
.hjx-wechat-btn:hover { opacity: .8; }
.hjx-wechat-btn:focus-visible { outline: 2px solid #c8102e; outline-offset: 3px; }
.hjx-wechat-hint { font-size: 13px; opacity: .62; text-decoration: none; }

@media (max-width: 782px) {
  .hxe-floatbar { display: flex; }
  .hxe-cta { padding: 40px 0; }
  .hxe-cta-actions { width: 100%; }
  .hxe-cta-actions .hxe-btn { flex: 1 1 100%; }
  body { padding-bottom: 70px; }
}

@media (max-width: 480px) {
  .hxe-wrap { padding: 0 18px; }
  .hxe-float { font-size: 13px; }
  .hxe-share-label { width: 100%; }
}
