/* Steel Fabrication Perth — Contact Page Styles
   /wp-content/themes/hello-theme-child-master/assets/contact/styles.css
*/

/* ── PAGE HERO ── */
.sfp-ct-hero {
  background: var(--steel);
  position: relative;
  overflow: hidden;
  padding: 72px 0 80px;
}
.sfp-ct-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 64px 64px;
}
.sfp-ct-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, var(--orange) 0, var(--orange) 36px, #2C4166 36px, #2C4166 52px);
}
.sfp-ct-hero-glow {
  position: absolute;
  left: -100px;
  top: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(224,78,10,.12) 0%, transparent 68%);
  pointer-events: none;
}
.sfp-ct-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.sfp-ct-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(224,78,10,.12);
  border: 1px solid rgba(224,78,10,.35);
  color: #FF8050;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 2px;
  margin-bottom: 20px;
}
.sfp-ct-hero h1 {
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(38px, 5vw, 62px);
  color: white;
  text-transform: uppercase;
  line-height: .97;
  letter-spacing: .02em;
  margin-bottom: 16px;
}
.sfp-ct-hero h1 span { color: var(--orange); }
.sfp-ct-hero-desc {
  font-size: 16px;
  color: rgba(255,255,255,.7);
  line-height: 1.75;
  max-width: 460px;
  margin-bottom: 32px;
}
.sfp-ct-hero-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sfp-ct-hero-detail {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sfp-ct-hero-detail-ico {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,.07);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sfp-ct-hero-detail-ico svg { stroke: var(--orange); }
.sfp-ct-hero-detail-label {
  font-size: 10px;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-family: var(--font-head);
  font-weight: 700;
  margin-bottom: 2px;
}
.sfp-ct-hero-detail-val {
  font-size: 15px;
  color: white;
  font-weight: 600;
}
.sfp-ct-hero-detail-val a {
  color: white;
  text-decoration: none;
  transition: color .15s;
}
.sfp-ct-hero-detail-val a:hover { color: var(--orange); }

/* Hero right — hours + trust */
.sfp-ct-hero-right {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  padding: 32px;
}
.sfp-ct-hours-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sfp-ct-hours-title::before { content: ''; width: 16px; height: 2px; background: var(--orange); display: inline-block; }
.sfp-ct-hour-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 14px;
}
.sfp-ct-hour-row:last-of-type { border-bottom: none; margin-bottom: 0; }
.sfp-ct-hour-day { color: rgba(255,255,255,.65); font-weight: 600; }
.sfp-ct-hour-time { color: rgba(255,255,255,.35); }
.sfp-ct-hour-time.open {
  color: #4ADE80;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 5px;
}
.sfp-ct-hour-time.open::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #4ADE80;
  border-radius: 50%;
  display: inline-block;
}
.sfp-ct-divider {
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 22px 0;
}
.sfp-ct-trust-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sfp-ct-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
  font-weight: 600;
}
.sfp-ct-trust-item svg { stroke: var(--orange); flex-shrink: 0; }

/* ── MAIN SECTION ── */
.sfp-ct-main {
  background: #F4F1EB;
  padding: 72px 0 80px;
}
.sfp-ct-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
}
.sfp-ct-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}

/* ── FORM CARD ── */
.sfp-ct-form-card {
  background: white;
  border-radius: 6px;
  border: 1px solid #D5D1C9;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.sfp-ct-form-head {
  background: white;
  padding: 32px 36px 24px;
  border-bottom: 2px solid #F4F1EB;
}
.sfp-ct-form-head h2 {
  font-family: var(--font-head) !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  text-transform: uppercase !important;
  color: var(--steel) !important;
  letter-spacing: .03em !important;
  margin-bottom: 6px !important;
}
.sfp-ct-form-head p {
  font-size: 14px !important;
  color: var(--textlight) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}
.sfp-ct-form-body {
  padding: 32px 36px 36px;
}

/* CF7 field styles */
.sfp-ct-form-body .wpcf7-form .sfp-field-group {
  margin-bottom: 20px;
}
.sfp-ct-form-body .wpcf7-form label,
.sfp-ct-field-label {
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--steel) !important;
  margin-bottom: 7px !important;
  display: block !important;
}
.sfp-ct-form-body .wpcf7-form input[type="text"],
.sfp-ct-form-body .wpcf7-form input[type="email"],
.sfp-ct-form-body .wpcf7-form input[type="tel"],
.sfp-ct-form-body .wpcf7-form input[type="number"],
.sfp-ct-form-body .wpcf7-form select,
.sfp-ct-form-body .wpcf7-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid #D5D1C9 !important;
  border-radius: var(--r) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  color: var(--steel) !important;
  background: white !important;
  box-sizing: border-box !important;
  transition: border-color .15s, box-shadow .15s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.sfp-ct-form-body .wpcf7-form input:focus,
.sfp-ct-form-body .wpcf7-form select:focus,
.sfp-ct-form-body .wpcf7-form textarea:focus {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 3px rgba(224,78,10,.08) !important;
  outline: none !important;
}
.sfp-ct-form-body .wpcf7-form textarea {
  min-height: 150px !important;
  resize: vertical !important;
}
.sfp-ct-form-body .wpcf7-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A2840' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
}
.sfp-ct-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-not-valid {
  border-color: #C0392B !important;
  box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
}
.sfp-ct-form-body .wpcf7-not-valid-tip {
  color: #C0392B !important;
  font-size: 12px !important;
  margin-top: 5px !important;
  display: block !important;
}
.sfp-ct-form-body .wpcf7-response-output {
  padding: 14px 18px !important;
  border-radius: var(--r) !important;
  font-size: 14px !important;
  margin-top: 20px !important;
  border: none !important;
  border-left: 4px solid var(--orange) !important;
}
.sfp-ct-form-body .wpcf7-mail-sent-ok {
  background: #F0FDF4 !important;
  border-color: #22C55E !important;
  color: #166534 !important;
}
.sfp-ct-form-body .wpcf7-validation-errors,
.sfp-ct-form-body .wpcf7-spam-blocked {
  background: #FEF2F2 !important;
  border-color: #C0392B !important;
  color: #991B1B !important;
}

/* Submit button */
.sfp-ct-form-body .wpcf7-form .wpcf7-submit,
.sfp-ct-form-body .wpcf7-form input[type="submit"] {
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 15px 36px !important;
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .18s, transform .14s !important;
  width: 100% !important;
  margin-top: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-submit:hover {
  background: var(--orange-hover) !important;
  transform: translateY(-1px) !important;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-spinner {
  margin: 0 !important;
}

/* ── SIDEBAR ── */
.sfp-ct-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 100px;
}
.sfp-ct-info-card {
  background: var(--steel);
  border-radius: 6px;
  padding: 28px;
  position: relative;
  overflow: hidden;
}
.sfp-ct-info-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 24px, rgba(255,255,255,.018) 24px, rgba(255,255,255,.018) 48px);
}
.sfp-ct-info-card-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 18px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sfp-ct-info-card-title::before { content: ''; width: 16px; height: 2px; background: var(--orange); display: inline-block; }
.sfp-ct-info-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  position: relative;
}
.sfp-ct-info-item:last-child { margin-bottom: 0; }
.sfp-ct-info-ico {
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,.07);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sfp-ct-info-ico svg { stroke: var(--orange); width: 15px; height: 15px; }
.sfp-ct-info-label {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-family: var(--font-head);
  font-weight: 700;
  margin-bottom: 3px;
}
.sfp-ct-info-val {
  font-size: 14px;
  color: rgba(255,255,255,.85);
  font-weight: 600;
  line-height: 1.5;
}
.sfp-ct-info-val a { color: rgba(255,255,255,.85); text-decoration: none; }
.sfp-ct-info-val a:hover { color: var(--orange); }

.sfp-ct-why-card {
  background: white;
  border: 1px solid #D5D1C9;
  border-radius: 6px;
  padding: 24px;
}
.sfp-ct-why-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sfp-ct-why-title::before { content: ''; width: 16px; height: 2px; background: var(--orange); display: inline-block; }
.sfp-ct-why-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--textmid);
  font-weight: 600;
  padding: 8px 0;
  border-bottom: 1px solid #F4F1EB;
}
.sfp-ct-why-item:last-child { border-bottom: none; }
.sfp-ct-why-item svg { stroke: var(--orange); flex-shrink: 0; }

.sfp-ct-cta-card {
  background: var(--orange);
  border-radius: 6px;
  padding: 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sfp-ct-cta-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255,255,255,.05) 20px, rgba(255,255,255,.05) 40px);
}
.sfp-ct-cta-card h3 {
  font-family: var(--font-head) !important;
  font-weight: 900 !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  color: white !important;
  margin-bottom: 8px !important;
  position: relative !important;
  line-height: 1.1 !important;
}
.sfp-ct-cta-card p {
  font-size: 13px !important;
  color: rgba(255,255,255,.8) !important;
  margin-bottom: 18px !important;
  position: relative !important;
  line-height: 1.6 !important;
}
.sfp-ct-cta-phone {
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 26px;
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  transition: opacity .15s;
}
.sfp-ct-cta-phone:hover { opacity: .85; color: white; }
.sfp-ct-cta-phone svg { stroke: white; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .sfp-ct-hero-inner { gap: 40px; }
}
@media (max-width: 900px) {
  .sfp-ct-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .sfp-ct-grid {
    grid-template-columns: 1fr !important;
  }
  .sfp-ct-sidebar {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
  .sfp-ct-cta-card {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 640px) {
  .sfp-ct-hero { padding: 48px 0 56px !important; }
  .sfp-ct-hero-inner { padding: 0 20px !important; }
  .sfp-ct-hero h1 { font-size: 38px !important; }
  .sfp-ct-main { padding: 48px 0 60px !important; }
  .sfp-ct-wrap { padding: 0 20px !important; }
  .sfp-ct-form-head { padding: 24px !important; }
  .sfp-ct-form-body { padding: 24px !important; }
  .sfp-ct-two-col { grid-template-columns: 1fr !important; }
  .sfp-ct-sidebar { grid-template-columns: 1fr !important; }
}


/* =========================================================================
   FORM — Dark Glassmorphism Redesign
   ========================================================================= */

/* Override the white form card */
.sfp-ct-form-card {
  background: linear-gradient(135deg, rgba(26,40,64,.95) 0%, rgba(20,30,50,.98) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: blur(12px) !important;
  overflow: hidden !important;
  position: relative !important;
}
.sfp-ct-form-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: repeating-linear-gradient(45deg, transparent, transparent 28px, rgba(255,255,255,.012) 28px, rgba(255,255,255,.012) 56px) !important;
  pointer-events: none !important;
}
.sfp-ct-form-card::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--orange), #FF8050, var(--orange)) !important;
}

/* Form head on dark */
.sfp-ct-form-head {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: 32px 36px 24px !important;
  position: relative !important;
}
.sfp-ct-form-head h2 {
  color: white !important;
  font-size: 28px !important;
}
.sfp-ct-form-head p {
  color: rgba(255,255,255,.55) !important;
}

/* Form body */
.sfp-ct-form-body {
  padding: 32px 36px 36px !important;
  position: relative !important;
}

/* Labels on dark */
.sfp-ct-form-body .wpcf7-form label {
  color: rgba(255,255,255,.6) !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
  margin-bottom: 8px !important;
}

/* Inputs — glass style */
.sfp-ct-form-body .wpcf7-form input[type="text"],
.sfp-ct-form-body .wpcf7-form input[type="email"],
.sfp-ct-form-body .wpcf7-form input[type="tel"],
.sfp-ct-form-body .wpcf7-form input[type="number"],
.sfp-ct-form-body .wpcf7-form select,
.sfp-ct-form-body .wpcf7-form textarea {
  background: rgba(255,255,255,.06) !important;
  border: 1.5px solid rgba(255,255,255,.1) !important;
  border-radius: 4px !important;
  color: white !important;
  font-size: 15px !important;
  padding: 13px 16px !important;
  transition: border-color .15s, background .15s, box-shadow .15s !important;
}
.sfp-ct-form-body .wpcf7-form input::placeholder,
.sfp-ct-form-body .wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,.25) !important;
}
.sfp-ct-form-body .wpcf7-form input:focus,
.sfp-ct-form-body .wpcf7-form select:focus,
.sfp-ct-form-body .wpcf7-form textarea:focus {
  background: rgba(255,255,255,.1) !important;
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 3px rgba(224,78,10,.15) !important;
  outline: none !important;
}

/* Select arrow on dark */
.sfp-ct-form-body .wpcf7-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-color: rgba(255,255,255,.06) !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  color: white !important;
}
/* Fix select option text */
.sfp-ct-form-body .wpcf7-form select option {
  background: #1A2840 !important;
  color: white !important;
}

/* Textarea */
.sfp-ct-form-body .wpcf7-form textarea {
  min-height: 130px !important;
}

/* Validation */
.sfp-ct-form-body .wpcf7-form .wpcf7-not-valid {
  border-color: #FF6B6B !important;
  box-shadow: 0 0 0 3px rgba(255,107,107,.15) !important;
}
.sfp-ct-form-body .wpcf7-not-valid-tip {
  color: #FF8080 !important;
}

/* Submit button */
.sfp-ct-form-body .wpcf7-form .wpcf7-submit,
.sfp-ct-form-body .wpcf7-form input[type="submit"] {
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .18s, transform .14s, box-shadow .18s !important;
  width: 100% !important;
  margin-top: 8px !important;
  box-shadow: 0 4px 20px rgba(224,78,10,.35) !important;
  position: relative !important;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-submit:hover {
  background: var(--orange-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(224,78,10,.45) !important;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-submit:active {
  transform: translateY(0) !important;
}

/* Response messages */
.sfp-ct-form-body .wpcf7-mail-sent-ok {
  background: rgba(34,197,94,.12) !important;
  border: 1px solid rgba(34,197,94,.3) !important;
  border-left: 4px solid #22C55E !important;
  color: #4ADE80 !important;
  border-radius: 4px !important;
}
.sfp-ct-form-body .wpcf7-validation-errors {
  background: rgba(255,107,107,.1) !important;
  border: 1px solid rgba(255,107,107,.3) !important;
  border-left: 4px solid #FF6B6B !important;
  color: #FF8080 !important;
  border-radius: 4px !important;
}

/* ── Also make the main section background darker/richer ── */
.sfp-ct-main {
  background: #EDEAE3 !important;
}

/* ── Sidebar cards — slight refresh ── */
.sfp-ct-info-card {
  background: linear-gradient(135deg, #1A2840 0%, #152136 100%) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.15) !important;
}
.sfp-ct-why-card {
  background: white !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
}
.sfp-ct-cta-card {
  background: linear-gradient(135deg, var(--orange) 0%, #D44008 100%) !important;
  box-shadow: 0 8px 32px rgba(224,78,10,.3) !important;
}

/* Field group spacing */
.sfp-ct-form-body .wpcf7-form p {
  margin-bottom: 20px !important;
}
.sfp-ct-form-body .wpcf7-form p:last-of-type {
  margin-bottom: 0 !important;
}


/* ── Two-col fields fix — consistent sizing ── */
.sfp-ct-two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
}
.sfp-ct-two-col .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}
.sfp-ct-two-col input[type="text"],
.sfp-ct-two-col input[type="email"],
.sfp-ct-two-col input[type="tel"] {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Label spacing fix — more breathing room ── */
.sfp-ct-form-body .wpcf7-form label {
  margin-bottom: 10px !important;
  display: block !important;
  padding-top: 4px !important;
}

/* ── All fields same height/padding ── */
.sfp-ct-form-body .wpcf7-form input[type="text"],
.sfp-ct-form-body .wpcf7-form input[type="email"],
.sfp-ct-form-body .wpcf7-form input[type="tel"],
.sfp-ct-form-body .wpcf7-form input[type="number"] {
  height: 50px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Field group — consistent bottom margin ── */
.sfp-ct-form-body .wpcf7-form p {
  margin-bottom: 24px !important;
}

/* ── Mobile — stack two-col ── */
@media (max-width: 640px) {
  .sfp-ct-two-col {
    grid-template-columns: 1fr !important;
  }
}


/* ── Label to field gap fix ── */
.sfp-ct-form-body .wpcf7-form label {
  margin-bottom: 8px !important;
  padding-top: 0 !important;
  display: block !important;
}
.sfp-ct-form-body .wpcf7-form p {
  margin-bottom: 20px !important;
}

/* ── Desktop two-col form layout ── */
@media (min-width: 641px) {
  .sfp-ct-form-body .wpcf7-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 20px !important;
  }

  /* Two-col fields — first name, last name, email, phone, thickness, quantity */
  .sfp-ct-form-body .wpcf7-form p:nth-child(1), /* First name */
  .sfp-ct-form-body .wpcf7-form p:nth-child(2), /* Last name */
  .sfp-ct-form-body .wpcf7-form p:nth-child(3), /* Email */
  .sfp-ct-form-body .wpcf7-form p:nth-child(4), /* Phone */
  .sfp-ct-form-body .wpcf7-form p:nth-child(6), /* Thickness */
  .sfp-ct-form-body .wpcf7-form p:nth-child(7) { /* Quantity */
    grid-column: span 1 !important;
  }

  /* Full-width fields — company, enquiry type, message, submit */
  .sfp-ct-form-body .wpcf7-form p:nth-child(5),  /* Company */
  .sfp-ct-form-body .wpcf7-form p:nth-child(8),  /* Enquiry type */
  .sfp-ct-form-body .wpcf7-form p:nth-child(9),  /* Message */
  .sfp-ct-form-body .wpcf7-form p:nth-child(10), /* Submit */
  .sfp-ct-form-body .wpcf7-form .wpcf7-response-output {
    grid-column: 1 / -1 !important;
  }
}

/* ── Mobile — single column ── */
@media (max-width: 640px) {
  .sfp-ct-form-body .wpcf7-form {
    display: block !important;
  }
}


/* ── ALL FIELDS FULL WIDTH — clean single column ── */
.sfp-ct-form-body .wpcf7-form {
  display: block !important;
  grid-template-columns: none !important;
}
.sfp-ct-form-body .wpcf7-form p {
  grid-column: unset !important;
  width: 100% !important;
  margin-bottom: 22px !important;
}

/* ── Label gap — more space between label and field ── */
.sfp-ct-form-body .wpcf7-form label {
  display: block !important;
  margin-bottom: 10px !important;
  padding-top: 0 !important;
  line-height: 1 !important;
}
.sfp-ct-form-body .wpcf7-form .wpcf7-form-control-wrap {
  display: block !important;
  margin-top: 10px !important;
}


/* ── Force all CF7 fields truly full width ── */
.sfp-ct-form-body .wpcf7-form .wpcf7-form-control-wrap,
.sfp-ct-form-body .wpcf7-form .wpcf7-form-control-wrap span,
.sfp-ct-form-body .wpcf7-form input[type="text"],
.sfp-ct-form-body .wpcf7-form input[type="email"],
.sfp-ct-form-body .wpcf7-form input[type="tel"],
.sfp-ct-form-body .wpcf7-form input[type="number"],
.sfp-ct-form-body .wpcf7-form select,
.sfp-ct-form-body .wpcf7-form textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}


/* ── CF7 nuclear full width fix ── */
.sfp-ct-form-body .wpcf7 form,
.sfp-ct-form-body .wpcf7 form p,
.sfp-ct-form-body .wpcf7 form label,
.sfp-ct-form-body .wpcf7 form span.wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.sfp-ct-form-body .wpcf7 form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.sfp-ct-form-body .wpcf7 form select,
.sfp-ct-form-body .wpcf7 form textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}


/* ── CF7 size attribute override + inline style override ── */
.sfp-ct-form-body input[size],
.sfp-ct-form-body input[size="40"],
.sfp-ct-form-body .wpcf7-text,
.sfp-ct-form-body .wpcf7-email,
.sfp-ct-form-body .wpcf7-tel,
.sfp-ct-form-body .wpcf7-select,
.sfp-ct-form-body .wpcf7-textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}


/* ── Two-col grid inside CF7 ── */
.sfp-ct-form-body .sfp-ct-two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
.sfp-ct-form-body .sfp-ct-two-col p {
  margin-bottom: 0 !important;
}
@media (max-width: 640px) {
  .sfp-ct-form-body .sfp-ct-two-col {
    grid-template-columns: 1fr !important;
  }
}
