/* Shared public styles. Blocksy remains the source of global typography and colours. */
.wtt-page,
.wsc-blog-archive {
  --wsc-primary: var(--theme-palette-color-1, #0e7cc5);
  --wsc-dark: var(--theme-palette-color-4, #1e1f23);
  --wsc-line: rgba(20, 30, 50, .12);
  --wsc-radius: 10px;
}

.wtt-page .wtt-form-slot { min-height: 2rem; }
.wtt-page .wtt-form-slot > .wsc-inquiry-form { margin: 0; }
.wtt-page .wsc-home-post-placeholder { display: grid; min-height: 260px; place-items: center; background: #eaf0f5; color: var(--wsc-primary); font-weight: 800; }
/* Source files used a JavaScript reveal observer. Keep migrated content visible
   until an audited page interaction replaces that observer. */
.wtt-page .reveal { opacity: 1 !important; transform: none !important; }
.wsc-honeypot { display: none !important; }

/* Every imported HTML page is a Gutenberg child, but it is a visual page rather
   than ordinary editor prose. Break it out of Gutenberg's constrained wrapper. */
.entry-content.is-layout-constrained > :is(.wtt-page, .wsc-blog-archive) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

/* A migrated page starts with its visual Hero. Let Blocksy's transparent header
   sit over that Hero instead of reserving a separate white strip above it. */
body.wsc-static-page #header.ct-header[data-id="type-1"],
body:has(.entry-content.is-layout-constrained > :is(.wtt-page, .wsc-blog-archive)) #header.ct-header[data-id="type-1"],
body.single-post #header.ct-header[data-id="type-1"] {
  position: absolute !important;
  top: 0;
  right: 0;
  left: 0;
  z-index: 110;
  width: 100%;
  background: transparent !important;
}
body.wsc-static-page .ct-container-full[data-content="normal"],
body:has(.entry-content.is-layout-constrained > :is(.wtt-page, .wsc-blog-archive)) .ct-container-full[data-content="normal"],
body.single-post .ct-container-full[data-content="normal"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Blocksy's global heading colour should not overwrite text placed over images. */
.wtt-page :is(.hero, .phero, .why, .final, .cta-banner, .global) :is(h1, h2, h3, h4),
.wtt-page :is(.ov, .cap, .gcap) :is(h2, h3, h4) { color: #fff !important; }

/* Fixed backgrounds can leave a one-pixel compositor seam where the final CTA
   meets the shared footer. The CTA remains image-backed, but scrolls with its
   own section so its bottom edge paints as a single, stable layer. */
.wtt-page .final {
  background-attachment: scroll !important;
}

/* Shortcode forms replace the original static markup; keep their typography and
   controls consistent across every imported HTML page. */
.wtt-page .form-card .wsc-inquiry-form,
.wtt-page .form-card .wsc-inquiry-form :is(input, textarea, button, label, span) {
  font-family: var(--wsc-local-font-family, Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif) !important;
}
.wtt-page .form-card .wsc-inquiry-form p { margin: 0 0 16px !important; }
.wtt-page .form-card .wsc-inquiry-form label {
  display: block;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3;
}
.wtt-page .form-card .wsc-inquiry-form input,
.wtt-page .form-card .wsc-inquiry-form textarea {
  width: 100%;
  margin-top: 6px;
  padding: 13px 15px;
  border: 1.5px solid var(--line, var(--wsc-line)) !important;
  border-radius: var(--radius, var(--wsc-radius)) !important;
  background: var(--light, #f7f9fc) !important;
  color: var(--ink, #14161a) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.wtt-page .form-card .wsc-inquiry-form textarea { min-height: 90px; resize: vertical; }
.wtt-page .form-card .wsc-inquiry-form input:focus,
.wtt-page .form-card .wsc-inquiry-form textarea:focus {
  border-color: var(--primary, var(--wsc-primary)) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(14, 124, 197, .1);
  outline: none;
}
.wtt-page .form-card .wsc-inquiry-form input::placeholder,
.wtt-page .form-card .wsc-inquiry-form textarea::placeholder { color: #6d737c; opacity: 1; }
.wtt-page .form-card .wsc-inquiry-form .wsc-submit {
  width: 100%;
  min-height: 48px;
  border-radius: var(--radius, var(--wsc-radius)) !important;
  background: var(--primary, var(--wsc-primary)) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.wtt-page .form-card .wsc-privacy-note { color: var(--muted, #5b6470) !important; font-size: 12px !important; }

@media (max-width: 760px) {
  .wtt-page .wrap { padding-left: 20px; padding-right: 20px; }
}
/* Shared uploaded icons retain their aspect ratio in every WT content module. */
.wsc-custom-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
