/* Sterling Law - ILR calculator. Scoped to .sl-ilr; fonts inherit from the theme. */
.sl-ilr { --ilr-accent:#1f3b5c; --ilr-accent-2:#c8a96a; --ilr-line:#dde3ea; --ilr-bg:#f6f8fa; --ilr-warn:#b25d00; --ilr-muted:#5b6b7c;
  border:1px solid var(--ilr-line); border-radius:12px; padding:24px; margin:28px 0; background:#fff; }
.sl-ilr h2 { margin-top:0; }
.sl-ilr [hidden] { display:none !important; }
.sl-ilr fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; }
.sl-ilr legend { font-weight:700; margin-bottom:10px; font-size:1.05em; }
.sl-ilr label { display:flex; flex-direction:column; gap:6px; font-size:.95em; min-width:0; }
/* theme overrides on sterling-law.co.uk: labels are right-aligned at 13px there, inputs below 16px zoom on iOS */
.sl-ilr label { text-align:left; font-size:15px; line-height:1.4; margin:0; }
.sl-ilr legend { font-size:17px; text-align:left; }
.sl-ilr-hint, .sl-ilr small { text-align:left; }
.sl-ilr input[type=date], .sl-ilr select {
  border:1px solid var(--ilr-line); border-radius:8px; padding:10px 12px; font:inherit; background:#fff; min-height:44px; box-sizing:border-box; width:100%; max-width:100%; }
.sl-ilr small, .sl-ilr-hint { color:var(--ilr-muted); font-size:.85em; }
.sl-ilr-hint { margin:0 0 12px; }
.sl-ilr-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap:14px; }
.sl-ilr-trips { display:flex; flex-direction:column; gap:10px; margin-bottom:10px; }
.sl-ilr-trip { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; gap:10px; align-items:end; }
.sl-ilr-remove { width:44px; height:44px; border:1px solid var(--ilr-line); border-radius:8px; background:#fff; color:var(--ilr-muted); font-size:1.3em; cursor:pointer; }
.sl-ilr-add { background:none; border:1px dashed var(--ilr-accent); color:var(--ilr-accent); border-radius:8px; padding:10px 16px; font:inherit; cursor:pointer; min-height:44px; }
.sl-ilr-btn { display:inline-block; background:var(--ilr-accent); color:#fff; border:0; border-radius:8px; padding:12px 22px;
  font:inherit; font-weight:700; cursor:pointer; text-decoration:none; min-height:44px; }
.sl-ilr-btn:hover, .sl-ilr-btn:focus-visible { background:#152a42; color:#fff; }
.sl-ilr-error { color:var(--ilr-warn); font-weight:600; margin-top:12px; }
.sl-ilr-result { margin-top:24px; border-top:1px solid var(--ilr-line); padding-top:20px; }
.sl-ilr-total { background:var(--ilr-bg); border-left:5px solid var(--ilr-accent-2); border-radius:8px; padding:16px 18px; margin-bottom:16px; }
.sl-ilr-total span { display:block; color:var(--ilr-muted); }
.sl-ilr-total strong { font-size:1.8em; line-height:1.25; }
.sl-ilr-total p { margin:8px 0 0; }
.sl-ilr-total p strong { font-size:1em; }
.sl-ilr-total.sl-ilr-warn { border-left-color:var(--ilr-warn); }
.sl-ilr-total.sl-ilr-warn span { color:var(--ilr-warn); font-weight:700; }
.sl-ilr-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap:12px; margin-bottom:16px; }
.sl-ilr-card { border:1px solid var(--ilr-line); border-radius:8px; padding:14px; display:flex; flex-direction:column; gap:4px; min-width:0; }
.sl-ilr-card span { color:var(--ilr-muted); font-size:.9em; }
.sl-ilr-card strong { font-size:1.3em; overflow-wrap:anywhere; }
.sl-ilr-breakdown { margin:12px 0; }
.sl-ilr-breakdown summary { cursor:pointer; font-weight:600; }
.sl-ilr-notes, .sl-ilr-note { color:var(--ilr-muted); font-size:.92em; }
.sl-ilr-notes { padding-left:20px; }
.sl-ilr-esbox { border:1px dashed var(--ilr-accent-2); border-radius:8px; padding:14px 16px; margin:16px 0; }
.sl-ilr-esbox p { margin:6px 0 0; }
.sl-ilr-cta { background:var(--ilr-bg); border-radius:8px; padding:16px 18px; margin-top:16px; }
.sl-ilr-takeaways { background:#f6f8fa; border-radius:8px; padding:14px 18px 14px 34px; }
.sl-ilr-disclaimer { color:#5b6b7c; font-size:.92em; }
.sl-ilr-table { overflow-x:auto; }
.sl-ilr-table table { border-collapse:collapse; width:100%; }
.sl-ilr-table th, .sl-ilr-table td { border:1px solid #dde3ea; padding:8px 10px; text-align:left; vertical-align:top; }
.sl-ilr-reviewed { border-top:1px solid #dde3ea; margin-top:28px; padding-top:14px; font-size:.92em; }
@media (max-width:480px) {
  .sl-ilr { padding:16px; }
  .sl-ilr-trip { grid-template-columns:minmax(0,1fr) 44px; }
  .sl-ilr-trip label:nth-child(2) { grid-column:1; }
  .sl-ilr-trip .sl-ilr-remove { grid-column:2; grid-row:1 / span 2; align-self:center; }
}
/* after the base field rule (font:inherit): 16px keeps iOS from zooming into the field */
.sl-ilr input[type=date], .sl-ilr select { font-size:16px; }
