/* JetPrint contact form (JLT). Styles the markup printed by includes/contact-form.php (jlt_cf_render),
   loaded only on pages that render a form. Uses the JLT design tokens of the host page stylesheet
   (jlt-page.css, jlt-shoes-service.css) with fallbacks. The submit button keeps the host page's
   .btn / .btn-primary look; the fallbacks below have zero specificity so the host rules always win.
   Works without JavaScript: no .reveal on the form, the honeypot is moved off-screen with CSS only. */

.jlt-cf{scroll-margin-top:96px;color:var(--ink,#1c1917)}
.jlt-cf__form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 20px;margin:0}
.jlt-cf__field{grid-column:1/-1;min-width:0;margin:0;padding:0}
.jlt-cf__field--half{grid-column:auto}
.jlt-cf label,.jlt-cf legend{display:block;margin:0 0 8px;padding:0;font-size:15px;font-weight:700;line-height:1.4;color:var(--ink,#1c1917)}

.jlt-cf input[type=text],.jlt-cf input[type=email],.jlt-cf input[type=tel],.jlt-cf select,.jlt-cf textarea{
  display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;box-sizing:border-box;
  font-family:inherit;font-size:16px;line-height:1.4;color:var(--ink,#1c1917);
  background:#fff;border:1px solid var(--hairline,#e7e5e4);border-radius:12px;box-shadow:none}
.jlt-cf textarea{min-height:160px;resize:vertical}
.jlt-cf select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2357534e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center}
.jlt-cf input:focus,.jlt-cf select:focus,.jlt-cf textarea:focus{outline:2px solid var(--coral-deep,#e8503f);outline-offset:1px;border-color:var(--coral-deep,#e8503f)}

.jlt-cf fieldset{min-width:0;margin:0;padding:0;border:0}
.jlt-cf__checks{display:flex;flex-wrap:wrap;gap:10px}
.jlt-cf .jlt-cf__check{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:8px 16px;
  font-size:15px;font-weight:500;color:var(--ink,#1c1917);background:#fff;border:1px solid var(--hairline,#e7e5e4);border-radius:999px;cursor:pointer}
.jlt-cf__check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--coral-deep,#e8503f)}
.jlt-cf__check:has(input:checked){border-color:var(--coral-deep,#e8503f);background:var(--coral-tint,#fff1ef)}
.jlt-cf__check:has(input:focus-visible){outline:2px solid var(--coral-deep,#e8503f);outline-offset:1px}

.jlt-cf__bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:4px}
.jlt-cf__captcha{display:flex;align-items:center;gap:12px}
.jlt-cf__captcha label{margin:0;font-size:17px;white-space:nowrap}
.jlt-cf .jlt-cf__captcha input{width:88px;text-align:center}
.jlt-cf__submit{min-height:48px;border:0;cursor:pointer;font-family:inherit;font-weight:700;line-height:1.2}
:where(.jlt-cf__submit){padding:14px 30px;font-size:16px;color:#fff;background:var(--coral-deep,#e8503f);border-radius:999px}

.jlt-cf__status{grid-column:1/-1;margin:0;padding:14px 18px;font-size:15.5px;line-height:1.5;border-radius:12px}
.jlt-cf__status p{margin:0}
.jlt-cf__status p+p{margin-top:4px}
.jlt-cf__status--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}
.jlt-cf__status--ok{font-weight:500;color:#14532d;background:#f0fdf4;border:1px solid #bbf7d0}
.jlt-cf__err{display:block;margin-top:6px;font-size:14px;line-height:1.4;color:#b42318}
.jlt-cf .is-invalid input,.jlt-cf .is-invalid select,.jlt-cf .is-invalid textarea,.jlt-cf .is-invalid .jlt-cf__check{border-color:#b42318}

/* Honeypot: off-screen, not display:none (some bots skip hidden fields). */
.jlt-cf .jlt-cf__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* /custom-shoes-service/ (templates/shoes-service.php): FAQ list next to the form panel, as on the Divi page. */
.jlt-cf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.jlt-cf-split .faq-grid{grid-template-columns:1fr}
.jlt-cf-panel{padding:40px;background:var(--coral-tint,#fff1ef);border-radius:24px}
.jlt-cf-panel h2{margin:0 0 24px;font-size:clamp(26px,2.4vw,32px)}

@media (max-width:900px){
  .jlt-cf-split{grid-template-columns:1fr;gap:40px}
  .jlt-cf-panel{padding:28px 20px}
}
@media (max-width:760px){
  .jlt-cf__form{grid-template-columns:minmax(0,1fr)}
  .jlt-cf__field--half{grid-column:1/-1}
  .jlt-cf__submit{width:100%}
}
@media (prefers-reduced-motion:reduce){.jlt-cf__submit{transition:none}}
