/* Trang liên hệ.
   Bố cục theo mockup: hero tối dùng chung, bốn thẻ thông tin đè lên mép hero,
   biểu mẫu và bản đồ đứng cạnh nhau, dải năng lực, dải số liệu chuyển màu, khối
   hỏi đáp gập mở và dải kêu gọi cuối trang. */

.cnk-landing-page .ct-section { padding: 0 0 60px; background: #f5f7f9; }

/* --- bốn thẻ thông tin --- */
.cnk-landing-page .ct-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: -46px;
  position: relative;
  z-index: 2;
}
.cnk-landing-page .ct-card {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 22px 20px;
  border: 1px solid var(--lp-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(6, 29, 61, .07);
}
.cnk-landing-page .ct-card__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fbeeee; }
.cnk-landing-page .ct-card__icon svg { width: 21px; height: 21px; fill: none; stroke: var(--lp-red); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cnk-landing-page .ct-card__body p { margin: 0; color: var(--lp-gray); font-size: 13px; line-height: 1.65; }
.cnk-landing-page .ct-card__name { margin-bottom: 4px !important; }
.cnk-landing-page .ct-card__name strong { color: #061d3d; font-size: 14px; font-weight: 700; }
.cnk-landing-page .ct-card__body a { color: #061d3d; font-weight: 600; text-decoration: none; }
.cnk-landing-page .ct-card__body a:hover { color: var(--lp-red); text-decoration: underline; }

/* --- biểu mẫu và bản đồ --- */
.cnk-landing-page .ct-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; margin-top: 26px; align-items: start; }
.cnk-landing-page .ct-panel { padding: 28px; border: 1px solid var(--lp-line); border-radius: 12px; background: #fff; }
.cnk-landing-page .ct-panel__title { margin: 0 0 6px; color: #061d3d; font: 800 1.25rem/1.3 Manrope, sans-serif; }
.cnk-landing-page .ct-panel__note { margin: 0 0 22px; color: var(--lp-gray); font-size: 13.5px; }

.cnk-landing-page .ct-panel .wpcf7,
.cnk-landing-page .ct-panel .ct-form { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.cnk-landing-page .ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.cnk-landing-page .ct-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cnk-landing-page .ct-field--full { grid-column: 1 / -1; }
.cnk-landing-page .ct-field label { color: #061d3d; font-size: 12.5px; font-weight: 600; }
.cnk-landing-page .ct-req { color: var(--lp-red); }
.cnk-landing-page .ct-field input[type="text"],
.cnk-landing-page .ct-field input[type="email"],
.cnk-landing-page .ct-field input[type="tel"],
.cnk-landing-page .ct-field select,
.cnk-landing-page .ct-field textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid var(--lp-line);
  border-radius: 6px;
  background: #fff;
  color: #14243a;
  font: inherit;
  font-size: 14px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
/* CF7 dựng textarea với rows=10 nên ô cao gần gấp đôi mẫu, đẩy thẻ biểu mẫu dài
   hơn hẳn thẻ bản đồ bên cạnh. Ấn định chiều cao, người dùng vẫn kéo giãn được. */
.cnk-landing-page .ct-field textarea { height: 110px; min-height: 110px; resize: vertical; line-height: 1.7; }
.cnk-landing-page .ct-field input:focus-visible,
.cnk-landing-page .ct-field select:focus-visible,
.cnk-landing-page .ct-field textarea:focus-visible {
  outline: none;
  border-color: var(--lp-blue);
  box-shadow: 0 0 0 3px rgba(44, 100, 133, .16);
}
.cnk-landing-page .ct-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2358595b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px; }

.cnk-landing-page .ct-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.cnk-landing-page .ct-submit,
.cnk-landing-page input.ct-submit {
  min-height: 46px; padding: 0 26px; border: 0; border-radius: 6px;
  background: var(--lp-red); color: #fff; font: inherit; font-size: 14px; font-weight: 700;
  cursor: pointer; transition: background-color .18s ease;
}
.cnk-landing-page .ct-submit:hover { background: #8d1b1b; }
.cnk-landing-page .ct-submit:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(110,19,19,.28), 0 0 0 5px rgba(255,255,255,.9); }
.cnk-landing-page .ct-secure { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: #8b949d; font-size: 12px; }
.cnk-landing-page .ct-secure svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; }

.cnk-landing-page .ct-map { overflow: hidden; border: 1px solid var(--lp-line); border-radius: 8px; }
.cnk-landing-page .ct-map iframe { display: block; width: 100%; height: 411px; border: 0; }
.cnk-landing-page .ct-place { display: grid; grid-template-columns: 24px 1fr; gap: 12px; margin-top: 18px; }
.cnk-landing-page .ct-place__icon svg { width: 18px; height: 18px; fill: none; stroke: var(--lp-red); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cnk-landing-page .ct-place__name { margin-bottom: 3px !important; }
.cnk-landing-page .ct-place__name strong { color: #061d3d; font-size: 13.5px; font-weight: 700; }
.cnk-landing-page .ct-place__body p { margin: 0; color: var(--lp-gray); font-size: 13px; line-height: 1.6; }
.cnk-landing-page .ct-place__body a { color: var(--lp-red); font-weight: 600; }

/* --- dải năng lực --- */
.cnk-landing-page .ct-help { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2.3fr); gap: 28px; margin-top: 34px; align-items: start; }
.cnk-landing-page .ct-help__title { margin: 0; padding-bottom: 14px; position: relative; color: #061d3d; font: 800 1.5rem/1.3 Manrope, sans-serif; }
.cnk-landing-page .ct-help__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--lp-red); }
.cnk-landing-page .ct-help__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cnk-landing-page .ct-help__item { padding: 20px 18px; border: 1px solid var(--lp-line); border-radius: 10px; background: #fff; }
.cnk-landing-page .ct-help__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px !important; }
.cnk-landing-page .ct-help__icon { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 8px; background: #fbeeee; }
.cnk-landing-page .ct-help__icon svg { width: 17px; height: 17px; fill: none; stroke: var(--lp-red); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cnk-landing-page .ct-help__item strong { color: #061d3d; font-size: 13.5px; font-weight: 700; }
.cnk-landing-page .ct-help__item p { margin: 0; color: var(--lp-gray); font-size: 12.5px; line-height: 1.65; }

/* --- dải số liệu --- */
.cnk-landing-page .ct-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 30px;
  border-radius: 12px;
  background: linear-gradient(104deg, #061d3d 0%, #123a5c 52%, #6e1313 100%);
  color: #fff;
}
.cnk-landing-page .ct-stat { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; padding: 26px 22px; }
.cnk-landing-page .ct-stat + .ct-stat { border-left: 1px solid rgba(255,255,255,.18); }
.cnk-landing-page .ct-stat__icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.cnk-landing-page .ct-stat__icon svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cnk-landing-page .ct-stat__value { margin: 0 0 2px !important; color: #fff; font: 800 1.6rem/1.15 Manrope, sans-serif; font-variant-numeric: tabular-nums; }
.cnk-landing-page .ct-stat__label { margin: 0; color: rgba(255,255,255,.76); font-size: 12.5px; }

/* --- hỏi đáp --- */
.cnk-landing-page .ct-faq { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2.3fr); gap: 28px; margin-top: 34px; align-items: start; }
.cnk-landing-page .ct-faq__title { margin: 0; padding-bottom: 14px; position: relative; color: #061d3d; font: 800 1.5rem/1.3 Manrope, sans-serif; }
.cnk-landing-page .ct-faq__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--lp-red); }
.cnk-landing-page .ct-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cnk-landing-page .ct-faq__grid details { border: 1px solid var(--lp-line); border-radius: 8px; background: #fff; }
.cnk-landing-page .ct-faq__grid summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; color: #061d3d; font-size: 13.5px; font-weight: 600; cursor: pointer; list-style: none; }
.cnk-landing-page .ct-faq__grid summary::-webkit-details-marker { display: none; }
.cnk-landing-page .ct-faq__grid summary::after { content: "⌄"; color: var(--lp-gray); font-size: 15px; line-height: 1; transform: translateY(-3px); }
.cnk-landing-page .ct-faq__grid details[open] summary::after { transform: rotate(180deg); }
.cnk-landing-page .ct-faq__grid details p { margin: 0; padding: 0 18px 16px; color: var(--lp-gray); font-size: 13px; line-height: 1.7; }

/* --- dải kêu gọi cuối trang --- */
.cnk-landing-page .ct-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px;
  margin-top: 32px; padding: 30px 36px; border-radius: 12px; color: #fff;
  background: linear-gradient(104deg, #061d3d 0%, #123a5c 48%, #6e1313 100%);
}
.cnk-landing-page .ct-cta__copy { flex: 1 1 340px; min-width: 0; }
.cnk-landing-page .ct-cta__title { margin: 0 0 6px !important; color: #fff; font: 800 1.35rem/1.3 Manrope, sans-serif; }
.cnk-landing-page .ct-cta__copy p { margin: 0; color: rgba(255,255,255,.8); font-size: 13.5px; line-height: 1.7; }
.cnk-landing-page .ct-cta .wp-block-buttons { gap: 14px; }
.cnk-landing-page .ct-cta .lp-button--light .wp-block-button__link { border-color: rgba(255,255,255,.55); }

/* --- khổ hẹp --- */
@media (max-width: 1000px) {
  .cnk-landing-page .ct-cards { grid-template-columns: 1fr 1fr; margin-top: 22px; }
  .cnk-landing-page .ct-main,
  .cnk-landing-page .ct-help,
  .cnk-landing-page .ct-faq { grid-template-columns: 1fr; }
  .cnk-landing-page .ct-help__grid { grid-template-columns: 1fr 1fr; }
  .cnk-landing-page .ct-stats { grid-template-columns: 1fr 1fr; }
  .cnk-landing-page .ct-stat:nth-child(odd) { border-left: 0; }
  .cnk-landing-page .ct-stat:nth-child(n + 3) { border-top: 1px solid rgba(255,255,255,.18); }
}
@media (max-width: 620px) {
  .cnk-landing-page .ct-cards,
  .cnk-landing-page .ct-help__grid,
  .cnk-landing-page .ct-stats,
  .cnk-landing-page .ct-grid,
  .cnk-landing-page .ct-faq__grid { grid-template-columns: 1fr; }
  .cnk-landing-page .ct-stat { border-left: 0; }
  .cnk-landing-page .ct-stat + .ct-stat { border-top: 1px solid rgba(255,255,255,.18); }
  .cnk-landing-page .ct-panel { padding: 22px 18px; }
  .cnk-landing-page .ct-cta { padding: 24px 20px; }
}
