/* v8.11.0 — UK Solicitor & Law Firm Directory (Find a Solicitor section + firm pages). JTL navy / white / purple. */
.jtl-dir{--jd-navy:#0b174d;--jd-ink:#111a46;--jd-purple:#5f47ef;--jd-purple-2:#654cff;--jd-soft:#f7f6ff;--jd-line:#e1def7;--jd-muted:#66708c;--jd-ok:#0a7d4f;--jd-warn:#8a5a00;color:var(--jd-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.jtl-dir *{box-sizing:border-box}
.jtl-dir__shell{max-width:1180px;margin:0 auto}
.jtl-dir-section{padding:58px 24px 54px;background:linear-gradient(180deg,#fff 0%,var(--jd-soft) 100%);border-top:1px solid #ebe8fb;border-bottom:1px solid #e6e3fb}
.jtl-dir__eyebrow{display:block;margin-bottom:10px;color:var(--jd-purple-2);font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.jtl-dir__head{max-width:760px;margin:0 auto 26px;text-align:center}
.jtl-dir__head h2{margin:0 0 12px;color:var(--jd-navy);font-size:clamp(28px,3.4vw,38px);line-height:1.15;letter-spacing:-.02em}
.jtl-dir__head p{margin:0;color:var(--jd-muted);font-size:17px;line-height:1.65}
.jtl-dir__preview{margin:0 0 18px;padding:10px 14px;border:1px dashed #b7acf8;border-radius:10px;background:#fff;color:#3b2fa6;font-size:14px}
.jtl-dir__preview--sample{border-color:#e4b44a;color:#7a4b00;background:#fff9ea}
.jtl-dir-form{padding:22px 24px 18px;border:1px solid #dce1ee;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(30,37,78,.08)}
.jtl-dir-form__grid{display:grid;grid-template-columns:1.25fr 1.15fr 1fr .8fr;gap:14px}
.jtl-dir-field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.jtl-dir-field>span{color:var(--jd-navy);font-size:13px;font-weight:800}
.jtl-dir-field input,.jtl-dir-field select,.jtl-dir-field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d6dbea;border-radius:11px;background:#fff;color:var(--jd-ink);font:inherit;font-size:15px}
.jtl-dir-field textarea{min-height:140px}
.jtl-dir-field input:focus,.jtl-dir-field select:focus,.jtl-dir-field textarea:focus{outline:2px solid rgba(95,71,239,.35);outline-offset:1px;border-color:var(--jd-purple)}
.jtl-dir-field small{color:var(--jd-muted);font-size:12.5px;line-height:1.5}
.jtl-dir-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.jtl-dir-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border:0;border-radius:11px;background:linear-gradient(135deg,#172d7a,var(--jd-purple));color:#fff!important;font:inherit;font-size:15px;font-weight:800;text-decoration:none!important;cursor:pointer;box-shadow:0 10px 22px rgba(64,51,190,.2)}
.jtl-dir-btn:hover{filter:brightness(1.05)}
.jtl-dir-btn--ghost{background:#fff;color:var(--jd-purple)!important;border:1px solid #cfc8ff;box-shadow:none}
.jtl-dir .jtl-dir-link,.jtl-dir .jtl-dir-link:hover,.jtl-dir .jtl-dir-link:focus{width:auto!important;min-height:0!important;padding:4px 2px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--jd-purple)!important;font:inherit;font-size:15px!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px;cursor:pointer}
.jtl-dir h1,.jtl-dir h2,.jtl-dir h3{font-weight:800}
.jtl-dir-panel p,.jtl-dir-panel li{font-size:15px}
.jtl-dir-results{margin-top:22px}
.jtl-dir-results[aria-busy=true]{opacity:.55;transition:opacity .15s}
.jtl-dir-count{margin:0 0 12px;color:var(--jd-muted);font-size:14px;font-weight:600}
.jtl-dir-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jtl-dir-card{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border:1px solid #e0e3f0;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(20,31,83,.06)}
.jtl-dir-card--member{border-color:#cfc8ff;box-shadow:0 12px 30px rgba(95,71,239,.12)}
.jtl-dir-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}
.jtl-dir-card h3{margin:0;font-size:19px;line-height:1.3}
.jtl-dir-card h3 a{color:var(--jd-navy);text-decoration:none}
.jtl-dir-card h3 a:hover{color:var(--jd-purple);text-decoration:underline}
.jtl-dir-card p{margin:0;font-size:14.5px;line-height:1.55}
.jtl-dir-card__trading,.jtl-dir-card__offices{color:var(--jd-muted)}
.jtl-dir-card__addr small{display:block;color:var(--jd-muted);font-size:13px}
.jtl-dir-card__reg{color:#3d4668;font-size:13.5px!important}
.jtl-dir-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;background:#eef0f7;color:#3d4668;font-size:12px;font-weight:800;white-space:nowrap}
.jtl-dir-badge--claimed{background:#fff;border:1px solid #b9aefc;color:#4a37c9}
.jtl-dir-badge--member{background:var(--jd-purple);color:#fff}
.jtl-dir-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.jtl-dir-chips li{margin:0;padding:4px 10px;border-radius:99px;background:#f1efff;color:#3b2fa6;font-size:12.5px;font-weight:700}
.jtl-dir-chips__more{background:#eef0f7!important;color:var(--jd-muted)!important}
.jtl-dir-card__actions,.jtl-dir-hero__contact,.jtl-dir-offices__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.jtl-dir-action{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid #dcd7fb;border-radius:10px;background:#fff;color:var(--jd-navy)!important;font-size:14px;font-weight:800;text-decoration:none!important}
.jtl-dir-action:hover{border-color:var(--jd-purple);color:var(--jd-purple)!important}
.jtl-dir-action--tel{background:#f7f6ff}
.jtl-dir-action--member{background:var(--jd-purple);border-color:var(--jd-purple);color:#fff!important}
.jtl-dir-action--member:hover{color:#fff!important;filter:brightness(1.06)}
.jtl-dir-empty{padding:26px;border:1px dashed #cfd5e6;border-radius:16px;background:#fff;text-align:center}
.jtl-dir-empty strong{display:block;margin-bottom:6px;color:var(--jd-navy);font-size:17px}
.jtl-dir-empty p{margin:0;color:var(--jd-muted)}
.jtl-dir-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0 0;font-weight:700}
.jtl-dir-pager a{padding:9px 14px;border:1px solid #dcd7fb;border-radius:10px;background:#fff;color:var(--jd-purple);text-decoration:none}
.jtl-dir-pager span{color:var(--jd-muted)}
.jtl-dir__source{margin-top:26px;color:var(--jd-muted);font-size:13px;line-height:1.6;text-align:center}
.jtl-dir__source p{max-width:880px;margin:0 auto 6px}
.jtl-dir__source a{color:var(--jd-purple)}
/* firm pages */
.jtl-dir-firm-page{padding:34px 24px 64px;background:var(--jd-soft)}
.jtl-dir-crumbs{margin:0 0 18px;color:var(--jd-muted);font-size:14px}
.jtl-dir-crumbs a{color:var(--jd-purple);text-decoration:none}
.jtl-dir-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#0b174d 0%,#171f68 55%,#5a45f5 100%);color:#fff;box-shadow:0 22px 50px rgba(11,23,77,.18)}
.jtl-dir-hero h1{margin:12px 0 8px;color:#fff;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.03em}
.jtl-dir-hero p{margin:0 0 4px;color:#dfe3ff}
.jtl-dir-hero .jtl-dir-badge{background:rgba(255,255,255,.16);color:#fff}
.jtl-dir-hero .jtl-dir-badge--member{background:#fff;color:var(--jd-purple)}
.jtl-dir-hero .jtl-dir-action{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff!important}
.jtl-dir-hero .jtl-dir-action--member{background:#fff;color:var(--jd-purple)!important}
.jtl-dir-firm-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;margin-top:22px}
.jtl-dir-panel{margin:0 0 18px;padding:22px 24px;border:1px solid #e0e3f0;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(20,31,83,.05)}
.jtl-dir-panel h2{margin:0 0 12px;color:var(--jd-navy);font-size:20px}
.jtl-dir-panel h2 small{color:var(--jd-muted);font-size:14px;font-weight:600}
.jtl-dir-panel p{line-height:1.65}
.jtl-dir-dl{display:grid;grid-template-columns:minmax(140px,.7fr) 1.3fr;gap:8px 16px;margin:0}
.jtl-dir-dl dt{color:var(--jd-muted);font-size:14px;font-weight:700}
.jtl-dir-dl dd{margin:0;font-size:15px}
.jtl-dir-small,.jtl-dir-provided{color:var(--jd-muted);font-size:13px}
.jtl-dir-offices{margin:0;padding:0;list-style:none}
.jtl-dir-offices li{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid #eef0f6}
.jtl-dir-offices li:first-child{border-top:0;padding-top:0}
.jtl-dir-claim-cta{border-color:#cfc8ff;background:linear-gradient(180deg,#fff,#f6f4ff)}
.jtl-dir-warning{margin:18px 0 0;padding:14px 18px;border:1px solid #f0d28a;border-radius:14px;background:#fff9ea;color:#5d3d00}
.jtl-dir-warning a{color:#5d3d00}
.jtl-dir-notice{margin:0 0 18px;padding:13px 16px;border-radius:12px;font-weight:600}
.jtl-dir-notice--ok{background:#e9f8f0;color:#0a5d3b;border:1px solid #bfe8d2}
.jtl-dir-notice--error{background:#fff1f1;color:#8a1f1f;border:1px solid #f4c7c7}
/* claim */
.jtl-dir-claim__head{margin:0 0 20px}
.jtl-dir-claim__head h1{margin:0 0 8px;color:var(--jd-navy);font-size:clamp(28px,3.6vw,40px)}
.jtl-dir-claim-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:22px;align-items:start}
.jtl-dir-claim-form fieldset{margin:0 0 14px;padding:0;border:0}
.jtl-dir-claim-form legend{margin:0 0 10px;color:var(--jd-navy);font-size:16px;font-weight:900}
.jtl-dir-checks label{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:14.5px;line-height:1.5}
.jtl-dir-checks input{flex:0 0 18px;width:18px!important;height:18px!important;margin:3px 0 0!important}
.jtl-dir-signin{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#f6f5ff;font-size:14.5px}
.jtl-dir-claim-aside ol{margin:0 0 12px 18px;padding:0;line-height:1.65}
.jtl-dir-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.jtl-dir-inline{margin-top:12px}
.jtl-dir-plans{margin:0 0 12px;padding:0;list-style:none}
.jtl-dir-plans li{margin:0 0 10px}
.jtl-dir-plans a{display:block;padding:12px 14px;border:1px solid #dcd7fb;border-radius:12px;color:var(--jd-navy);text-decoration:none}
.jtl-dir-plans a:hover{border-color:var(--jd-purple)}
.jtl-dir-plans span{display:block;color:var(--jd-muted);font-size:13px;margin-top:3px}
.jtl-dir .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media(max-width:1020px){.jtl-dir-form__grid{grid-template-columns:1fr 1fr}.jtl-dir-firm-grid,.jtl-dir-claim-grid{grid-template-columns:1fr}}
@media(max-width:700px){.jtl-dir-section{padding:40px 16px}.jtl-dir-form{padding:18px 16px 14px;border-radius:16px}.jtl-dir-form__grid{grid-template-columns:1fr;gap:0}.jtl-dir-list{grid-template-columns:1fr}.jtl-dir-btn{width:100%}.jtl-dir-form__actions{flex-direction:column;align-items:stretch;text-align:center}.jtl-dir-card{padding:18px 16px}.jtl-dir-action{flex:1 1 auto;justify-content:center}.jtl-dir-firm-page{padding:22px 16px 48px}.jtl-dir-hero{padding:24px 20px;border-radius:18px}.jtl-dir-dl{grid-template-columns:1fr;gap:2px 0}.jtl-dir-dl dd{margin-bottom:8px}.jtl-dir-panel{padding:18px 16px}}
/* v8.11.1 — homepage directory section */
.jtl-dir-home{padding:64px 24px;background:linear-gradient(135deg,#0b174d 0%,#171f68 52%,#3d2fb8 100%);color:#fff}
.jtl-dir-home .jtl-dir__preview{background:rgba(255,255,255,.95)}
.jtl-dir-home__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:44px;align-items:center}
.jtl-dir-home .jtl-dir__eyebrow{color:#c9c4ff}
.jtl-dir-home h2{margin:0 0 14px;color:#fff;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.025em}
.jtl-dir-home__intro p{margin:0;color:#e2e5ff;font-size:18px;line-height:1.65}
.jtl-dir-home__points{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.jtl-dir-home__points li{margin:0;padding:9px 14px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(255,255,255,.08);color:#fff;font-size:14px;font-weight:700}
.jtl-dir-home__form{box-shadow:0 28px 60px rgba(2,8,40,.32);color:var(--jd-ink)}
.jtl-dir-home__row{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.jtl-dir-home .jtl-dir-field select:disabled{opacity:.55}
.jtl-dir-home__browse{color:var(--jd-purple)!important;font-size:15px!important;font-weight:800;text-decoration:underline!important;text-underline-offset:3px}
.jtl-dir-home__source{max-width:900px;margin:26px auto 0;color:#c8cdf0;font-size:13px;line-height:1.6;text-align:center}
.jtl-dir-home__source a{color:#fff}
@media(max-width:1020px){.jtl-dir-home__grid{grid-template-columns:1fr;gap:28px}.jtl-dir-home__intro{text-align:center}.jtl-dir-home__points{justify-content:center}}
@media(max-width:700px){.jtl-dir-home{padding:44px 16px}.jtl-dir-home__row{grid-template-columns:1fr;gap:0}.jtl-dir-home__intro p{font-size:16px}.jtl-dir-home__browse{display:block;text-align:center;padding:6px 0}}
