/*
Theme Name: SML Laboratories
Theme URI: https://sml-laboratories.co.uk
Author: SML Laboratories
Description: Custom marketing theme for SML Laboratories Ltd. Five landing pages (Home hub plus Chemical & Environmental, Asbestos, Geotechnical and Botanical testing) with Contact Form 7 quote forms. Navy #003048 / green #00C06C, Poppins + IBM Plex.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: sml
*/

* { box-sizing: border-box; }
body { margin: 0; font-family: "IBM Plex Sans", system-ui, sans-serif; color: #16262d; background: #ffffff; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: "Poppins", system-ui, sans-serif; margin: 0; }
p { margin: 0; }
a { color: #007a44; text-decoration: none; }
a:hover { color: #00C06C; }
::selection { background: #00C06C; color: #003048; }
img { max-width: 100%; }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-plus { transform: rotate(45deg); }

.idx { font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; }
@keyframes kblink { 0%,50%{opacity:1} 51%,100%{opacity:0} }
.kicker { display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:8px 15px; border-radius:6px; background:rgba(0,192,108,0.12); border:1px solid rgba(0,192,108,0.35); color:#00a85d; }
.kicker-dot { width:7px; height:7px; border-radius:50%; background:#00C06C; flex:none; }
.kicker-cursor { animation:kblink 1s step-end infinite; color:#00C06C; font-weight:400; margin-left:-3px; }
.type-cur { animation:kblink 1s step-end infinite; color:#00C06C; font-weight:400; margin-left:2px; }
@keyframes kpoint { 0%,100%{transform:translateX(0)} 50%{transform:translateX(7px)} }
.point-emoji { display:inline-block; animation:kpoint 0.9s ease-in-out infinite; }
details.faq { transition:box-shadow 0.2s, border-color 0.2s; }
details.faq[open] { border-color:#00C06C !important; box-shadow:0 12px 34px rgba(0,48,72,0.09); }
details.faq summary:hover { background:#f4f7f3; }
details.faq[open] summary { background:#f4f7f3; }
.flow { display:flex; align-items:stretch; gap:0; }
.flow-step { position:relative; flex:1; opacity:0; transform:translateY(18px); transition:opacity 0.5s ease, transform 0.5s ease; }
.flow-step.flow-in { opacity:1; transform:none; }

/* ---- Contact Form 7 quote form: inherit the card look ---- */
.sml-form-card .wpcf7 { margin: 0; }
.sml-form-card .wpcf7-form p { margin: 0; }
.sml-form-card .wpcf7-not-valid-tip { font-family:'IBM Plex Sans'; font-size:12.5px; color:#c0392b; margin-top:4px; }
.sml-form-card .wpcf7-response-output { font-family:'IBM Plex Sans'; font-size:14px; border-radius:6px; margin:16px 0 0; padding:12px 14px; }
.sml-form-card .wpcf7-spinner { margin: 8px auto 0; display:block; }

@media (max-width: 900px) {
  .desk-nav { display: none !important; }
  .hero-grid { grid-template-columns: 1fr !important; }
  .two-col { grid-template-columns: 1fr !important; }
  .help-grid { grid-template-columns: 1fr 1fr !important; }
  .flow { flex-direction: column; gap: 8px; }
  .flow-arrow { display: none !important; }
  .mobile-bar { display: flex !important; }
  body { padding-bottom: 66px; }
  .sec-pad { padding-left: 20px !important; padding-right: 20px !important; }
  .h1-big { font-size: 42px !important; }
}
@media (max-width: 560px) { .help-grid { grid-template-columns: 1fr !important; } }

.scp-form-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.scp-form-wrap-one {
  margin-bottom: 12px;
}
.wpcf7 input.scp2,
.wpcf7 select.scp2,
.wpcf7 textarea.scp2 {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgb(213, 221, 224);
  border-radius: 5px;
  font-family: "IBM Plex Sans";
  font-size: 14.5px;
  background: rgb(251, 252, 252);
  box-sizing: border-box;
  color: rgb(22, 38, 45);
}
.wpcf7 textarea.scp2 {
  resize: vertical;
}
.scp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}
.scp-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: rgb(0, 48, 72);
  background: rgb(234, 250, 241);
  padding: 7px 11px;
  border-radius: 5px;
}
.wpcf7 input.scp0[type="submit"] {
  width: 100%;
  background: rgb(0, 192, 108);
  color: rgb(0, 48, 72);
  border: none;
  font-family: "IBM Plex Sans";
  font-weight: 700;
  font-size: 16px;
  padding: 14px;
  border-radius: 6px;
  cursor: pointer;
}
.scp-disclaimer {
  font-size: 12.5px;
  color: rgb(138, 154, 161);
  text-align: center;
  margin-top: 12px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	margin: 0;
	margin-top: 20px;
	color: black;
}

.sml-form-card .wpcf7-form p {
	margin: 10px 0 0;
}


.wpcf7 form .wpcf7-response-output {
	padding: 10px;
	text-align: center;
	color: black;
}