/* WP/CF7 fixups — loads last, after every template stylesheet.
   Scope: make Contact Form 7 output visually identical to the static forms. */

/* CF7 wraps every control in <span class="wpcf7-form-control-wrap"> — make the
   wrapper transparent so the template's field layout is unchanged. */
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.nl-form .wpcf7-form-control-wrap { display: contents; }

/* CF7 emits <input type="submit">; the template styled <button> elements.
   The shared class selectors (.ct-submit/.form-submit) already match — only
   the newsletter submit needs the template's bare-button look. */
.nl-form input[type="submit"] {
  flex: 0 0 auto;
  width: auto;
  background: none;
  border: none;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--f);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  white-space: nowrap;
}

/* Validation + response output */
.wpcf7-not-valid-tip {
  display: block;
  font-size: 12px;
  color: #b3261e;
  margin-top: 6px;
}
.wpcf7 form .wpcf7-response-output {
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--line2);
  font-size: 13px;
  color: var(--ink);
}
/* Success uses the template's own .ct-ok/.form-ok block (child-theme.js) —
   hide CF7's duplicate message. */
.wpcf7 form.sent .wpcf7-response-output { display: none; }
.nl-form ~ .wpcf7-response-output,
.nl .wpcf7-response-output { text-align: center; }

/* Spinner: keep it from breaking inline-flex submit rows */
.wpcf7-spinner { position: absolute; margin: 12px 0 0 8px; }
.ct-form, .join { position: relative; }

/* Header search — small panel toggled by the magnifier icon; submits
   GET ?tim= to the san-pham page (template tokens: --ink/--line2/--f). */
.tools { position: relative; }
.hdr-search {
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 70;
  width: min(300px, calc(100vw - 32px));
  background: #fff;
  border: 1px solid var(--line2);
  box-shadow: 0 12px 30px rgba(44, 46, 47, .12);
  padding: 10px;
  gap: 8px;
  align-items: center;
}
.hdr-search.open { display: flex; }
.hdr-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  border: none;
  border-bottom: 1px solid var(--line2);
  background: none;
  padding: 8px 2px;
  font-family: var(--f);
  font-size: 13px;
  color: var(--ink);
  outline: none;
}
.hdr-search input[type="search"]:focus { border-bottom-color: var(--ink); }
.hdr-search button[type="submit"] {
  flex: 0 0 auto;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ink);
  font-family: var(--f);
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 8px 6px;
}
