/* Contact page layout extracted from its Custom HTML block. */
.kt-contact-page {
  --kt-contact-navy:#102a62;
  --kt-contact-blue:#0866c5;
  --kt-contact-red:#c93632;
  --kt-contact-ink:#24364b;
  --kt-contact-muted:#5d6d81;
  --kt-contact-pale:#edf6ff;
  --kt-contact-border:#d4e0ee;
  color:var(--kt-contact-ink);
  font-family:inherit;
}
.kt-contact-page.wp-block-group,
.kt-contact-page .wp-block-group {
  --wp--style--block-gap:0;
}
.kt-contact-page * { box-sizing:border-box; }
.kt-contact-page .kt-hero {
  position:relative;
  overflow:hidden;
  padding:clamp(40px,5vw,74px) max(5%,calc((100% - 1240px)/2));
  background:linear-gradient(110deg,#f5faff,#e4f1ff 75%,#d7eaff);
}
.kt-contact-page .kt-eyebrow {
  margin:0 0 14px;
  color:var(--kt-contact-blue);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
}
.kt-contact-page .kt-hero h1 {
  max-width:720px;
  margin:0 0 17px;
  color:var(--kt-contact-navy);
  font-size:clamp(34px,4.2vw,56px);
  line-height:1.13;
  letter-spacing:-.035em;
}
.kt-contact-page .kt-hero h1 em {
  color:var(--kt-contact-blue);
  font-family:Georgia,serif;
  font-weight:500;
}
.kt-contact-page .kt-intro {
  max-width:670px;
  margin:0;
  color:#455a73;
  font-size:16px;
  line-height:1.8;
}
.kt-contact-page .kt-hero:after {
  position:absolute;
  top:-100px;
  right:-50px;
  width:310px;
  height:310px;
  border:35px solid rgba(255,255,255,.5);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.kt-contact-page .kt-main {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);
  gap:34px;
  width:92%;
  max-width:1340px;
  margin:-22px auto 0;
  padding:clamp(24px,3.3vw,44px);
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:20px;
  box-shadow:0 15px 45px rgba(16,42,98,.09);
}
.kt-contact-page h2 {
  margin:0 0 10px;
  color:var(--kt-contact-navy);
  font-size:clamp(23px,2.4vw,29px);
  line-height:1.3;
}
.kt-contact-page .kt-muted {
  margin:0 0 20px;
  color:var(--kt-contact-muted);
  font-size:14px;
  line-height:1.7;
}
.kt-contact-page .kt-details {
  padding-right:30px;
  border-right:1px solid #e3ebf4;
}
.kt-contact-page .kt-detail {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:19px 0;
}
.kt-contact-page .kt-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:var(--kt-contact-blue);
  background:#eaf4ff;
  border-radius:50%;
}
.kt-contact-page .kt-icon svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.kt-contact-page .kt-detail p {
  margin:0;
  font-size:14px;
  line-height:1.8;
  overflow-wrap:anywhere;
}
.kt-contact-page .kt-detail a {
  color:var(--kt-contact-ink);
  text-decoration:none;
}
.kt-contact-page .kt-detail a:hover {
  color:var(--kt-contact-red);
  text-decoration:underline;
}
.kt-contact-page .kt-contact-centre {
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #e3ebf4;
}
.kt-contact-page .kt-contact-centre h3 {
  margin:0 0 12px;
  color:var(--kt-contact-navy);
  font-size:19px;
}
.kt-contact-page .kt-hours {
  margin-top:15px;
  padding:14px 16px;
  background:var(--kt-contact-pale);
  border-left:3px solid var(--kt-contact-red);
  border-radius:0 10px 10px 0;
}
.kt-contact-page .kt-hours p {
  margin:4px 0;
  font-size:13px;
  line-height:1.65;
}
.kt-contact-page .kt-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.kt-contact-page .kt-field {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
}
.kt-contact-page .kt-full { grid-column:1/-1; }
.kt-contact-page .kt-field label {
  color:#36485c;
  font-size:13px;
  font-weight:650;
}
.kt-contact-page .kt-field input,
.kt-contact-page .kt-field select,
.kt-contact-page .kt-field textarea {
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border:1px solid #c9d7e7;
  border-radius:7px;
  background:#fbfdff;
  color:var(--kt-contact-ink);
  font:inherit;
  font-size:14px;
  box-shadow:none;
}
.kt-contact-page .kt-field textarea {
  min-height:125px;
  resize:vertical;
}
.kt-contact-page .kt-field input:focus,
.kt-contact-page .kt-field select:focus,
.kt-contact-page .kt-field textarea:focus {
  outline:2px solid #d3e8ff;
  border-color:var(--kt-contact-blue);
}
.kt-contact-page .kt-send {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  min-height:48px;
  padding:12px 25px;
  color:#fff;
  background:var(--kt-contact-red);
  border:0;
  border-radius:26px;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.kt-contact-page .kt-send:hover { background:#a82b29; }
.kt-contact-page .kt-send span { font-size:20px; }
.kt-contact-page .kt-form-note {
  margin:12px 0 0;
  color:var(--kt-contact-muted);
  font-size:12px;
  line-height:1.6;
}
.kt-contact-page .kt-locations {
  width:92%;
  max-width:1340px;
  margin:48px auto 65px;
}
.kt-contact-page .kt-locations h2 {
  margin-bottom:8px;
  font-size:clamp(27px,3vw,35px);
}
.kt-contact-page .kt-location-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:23px;
}
.kt-contact-page .kt-location-card {
  padding:22px 20px;
  background:#fff;
  border:1px solid #e2ebf5;
  border-radius:14px;
  box-shadow:0 8px 25px rgba(16,42,98,.045);
}
.kt-contact-page .kt-location-card:before {
  display:block;
  width:34px;
  height:4px;
  margin-bottom:17px;
  background:var(--kt-contact-red);
  border-radius:5px;
  content:"";
}
.kt-contact-page .kt-location-card h3 {
  margin:0 0 10px;
  color:var(--kt-contact-navy);
  font-size:17px;
  line-height:1.4;
}
.kt-contact-page .kt-location-card p {
  margin:0;
  color:var(--kt-contact-muted);
  font-size:13px;
  line-height:1.8;
}
.kt-contact-page .kt-location-card strong { color:var(--kt-contact-ink); }
@media(max-width:1000px) {
  .kt-contact-page .kt-main { grid-template-columns:1fr; }
  .kt-contact-page .kt-details {
    padding:0 0 26px;
    border-right:0;
    border-bottom:1px solid #e3ebf4;
  }
  .kt-contact-page .kt-location-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px) {
  .kt-contact-page .kt-hero { padding:38px 22px 52px; }
  .kt-contact-page .kt-main,
  .kt-contact-page .kt-locations { width:calc(100% - 28px); }
  .kt-contact-page .kt-main { padding:22px 18px; }
  .kt-contact-page .kt-fields,
  .kt-contact-page .kt-location-grid { grid-template-columns:1fr; }
}

/* Contact page visual refinement */
.kt-contact-page .kt-hero {
  position:relative; isolation:isolate; overflow:hidden;
  min-height:390px; padding:66px 5% 90px;
  background:linear-gradient(115deg,#f5faff,#e7f2ff 57%,#d9eaff);
}
.kt-contact-page .kt-hero-visual {
  position:absolute; z-index:0; top:0; right:0;
  width:44%; height:100%; overflow:hidden;
  border-radius:180px 0 0 180px; background:#c9e4fb;
}
.kt-contact-page .kt-hero-visual img {
  display:block; width:100%; height:100%; object-fit:cover;
}
.kt-contact-page .kt-hero-copy {
  position:relative; z-index:1; max-width:57%;
}
.kt-contact-page .kt-main {
  position:relative; z-index:2; margin-top:-35px;
  border-radius:22px; box-shadow:0 18px 55px rgba(16,42,98,.12);
}
.kt-contact-page .kt-locations {
  position:relative; isolation:isolate;
}
.kt-contact-page .kt-locations:after {
  content:""; position:absolute; z-index:-1; top:-20px; right:0;
  width:min(35%,400px); height:220px;
  background:url("/wp-content/themes/kentrade-future-v3/assets/images/kentrade-contact-map.svg") no-repeat right top / contain;
  opacity:.65; pointer-events:none;
}
.kt-contact-page .kt-location-card {
  position:relative; min-height:155px; padding-bottom:28px;
  border-radius:14px; box-shadow:0 9px 28px rgba(16,42,98,.07);
}
@media(max-width:600px) {
  .kt-contact-page .kt-hero { min-height:0; padding:36px 22px 58px; }
  .kt-contact-page .kt-hero-visual {
    position:relative; width:100%; height:185px;
    margin-top:24px; border-radius:16px;
  }
  .kt-contact-page .kt-hero-copy { max-width:none; }
  .kt-contact-page .kt-main { margin-top:-25px; }
  .kt-contact-page .kt-locations:after { width:65%; opacity:.35; }
}

/* Remove Gutenberg's default flow gap where the original layout used custom spacing. */
.kt-contact-page .wp-block-group.is-layout-flow > * + * {
  margin-block-start:0;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-main {
  margin-block-start:-35px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-detail {
  margin-block-start:19px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-contact-centre {
  margin-block-start:24px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-hours {
  margin-block-start:15px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-hours > p {
  margin-block-start:4px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-locations {
  margin-block-start:48px;
}
.kt-contact-page .wp-block-group.is-layout-flow > .kt-location-grid {
  margin-block-start:23px;
}

