/* Prayer-request module. Site-neutral: inherits font and colour from the page.
   Brand colours are set by the host page on the mount, e.g.
     #ima-modul{--ima-accent:#7CB342;--ima-accent-ink:#0B110E;--ima-line:#22302A;--ima-panel:#121B16;--ima-muted:#98A69D}
   Without them the module uses currentColor-based neutrals. */
.ima{
  --_line:var(--ima-line, color-mix(in srgb, currentColor 22%, transparent));
  --_panel:var(--ima-panel, color-mix(in srgb, currentColor 5%, transparent));
  --_field:var(--ima-field, transparent);
  --_muted:var(--ima-muted, color-mix(in srgb, currentColor 68%, transparent));
  --_accent:var(--ima-accent, currentColor);
  --_accent-ink:var(--ima-accent-ink, inherit);
  --_error:var(--ima-error, #d9534f);
  --_radius:var(--ima-radius, 10px);
  display:block;max-width:var(--ima-max, 760px);margin:0 auto;color:inherit;font:inherit;
  overflow-wrap:anywhere
}
.ima *, .ima *::before, .ima *::after{box-sizing:border-box}
.ima [hidden]{display:none !important}
.ima-h{font-size:1.25em;line-height:1.3;margin:0 0 .8em}
.ima-note{margin:0 0 1em;padding:.5em .8em;border:1px dashed var(--_line);border-radius:var(--_radius);
  color:var(--_muted);font-size:.9em}
.ima-form, .ima-list-sec{background:var(--_panel);border:1px solid var(--_line);border-radius:var(--_radius);
  padding:16px;margin:0 0 20px}
.ima-field{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;min-width:0}
.ima label, .ima legend{font-weight:600;font-size:.95em}
.ima input[type=text], .ima input[type=email], .ima input[type=search], .ima select, .ima textarea{
  width:100%;min-width:0;font:inherit;font-size:max(16px, 1em);color:inherit;background:var(--_field);
  border:1px solid var(--_line);border-radius:calc(var(--_radius) - 4px);padding:.55em .7em;line-height:1.4
}
.ima select option{color:initial;background:initial}
.ima textarea{resize:vertical;min-height:7.5em}
.ima select:disabled{opacity:.55}
.ima :focus-visible{outline:3px solid var(--_accent);outline-offset:2px}
.ima-hint{margin:0;color:var(--_muted);font-size:.88em;line-height:1.45}
.ima-row-between{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.ima-count{color:var(--_muted);font-size:.85em;white-space:nowrap;font-variant-numeric:tabular-nums}
.ima-loc{border:1px solid var(--_line);border-radius:var(--_radius);padding:12px;margin:0 0 14px;min-width:0}
.ima-loc legend{padding:0 6px}
.ima-loc-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:10px 0 4px}
.ima-manual{margin-top:10px}
.ima-btn{font:inherit;font-size:.95em;cursor:pointer;color:inherit;background:transparent;
  border:1px solid var(--_line);border-radius:calc(var(--_radius) - 4px);padding:.6em 1em;min-height:44px;
  text-align:center;max-width:100%}
.ima-btn:hover{border-color:var(--_accent)}
.ima-btn:disabled{opacity:.6;cursor:progress}
.ima-btn-primary{background:var(--ima-accent, transparent);color:var(--_accent-ink);border:2px solid var(--_accent);
  font-weight:700;width:100%}
.ima-btn-primary:disabled{opacity:.45;cursor:not-allowed}
.ima-link{font:inherit;font-size:.9em;background:none;border:0;padding:.4em 0;color:inherit;
  text-decoration:underline;cursor:pointer;min-height:44px}
.ima-status{margin:6px 0 0;color:var(--_muted);font-size:.9em;min-height:1.2em}
.ima-stored{border-left:3px solid var(--_accent);padding:4px 0 4px 12px;margin:0 0 14px}
.ima-stored-title{margin:0 0 4px;font-weight:600;font-size:.95em}
.ima-stored-list{margin:0;padding:0 0 0 1.1em;font-size:.92em;line-height:1.5}
.ima-error{margin:0 0 10px;color:var(--_error);font-weight:600;min-height:0}
.ima-error:empty, .ima-result:empty{display:none}
.ima-result{margin:12px 0 0;font-weight:600}
.ima-filters{display:grid;grid-template-columns:1fr;gap:0 12px}
.ima-list{list-style:none;margin:10px 0 0;padding:0}
.ima-item{border-top:1px solid var(--_line);padding:12px 0}
.ima-item-text{margin:0 0 4px;white-space:pre-wrap;line-height:1.55}
.ima-item-meta{margin:0;color:var(--_muted);font-size:.85em}
@media (min-width:640px){
  .ima-form, .ima-list-sec{padding:22px}
  .ima-filters{grid-template-columns:1fr 1fr 1fr}
  .ima-field-wide{grid-column:1 / -1}
  .ima-btn-primary{width:auto;min-width:240px}
}
/* honeypot: off-screen, never visible */
.ima-hp{position:absolute !important;left:-10000px !important;top:auto;width:1px;height:1px;overflow:hidden}
.ima-form{position:relative}
.ima-notice{border:1px solid var(--_line);border-radius:var(--_radius);padding:12px 14px;margin:0 0 14px;font-size:.92em;line-height:1.5}
.ima-notice p{margin:0 0 .45em}
.ima-notice p:last-child{margin:0}
.ima-notice-title{font-weight:700}
.ima-consents{margin:0 0 14px}
.ima-check{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;margin:0 0 10px}
.ima-check input[type=checkbox]{width:22px;height:22px;margin:2px 0 0;accent-color:var(--ima-accent, auto)}
.ima-check label{font-weight:400;font-size:.95em;line-height:1.45;cursor:pointer}
.ima-check-link{grid-column:2;font-size:.88em;color:var(--ima-link, inherit);text-decoration:underline}
.ima-pow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;color:var(--_muted);font-size:.9em}
.ima-pow-bar{width:100%;max-width:260px;height:8px;accent-color:var(--ima-accent, auto)}
.ima-done p{margin:0 0 12px}
.ima-done:focus{outline:none}
.ima-item-mt{margin:0 0 4px;color:var(--_muted);font-size:.85em}
.ima-link-small{font-size:1em;min-height:0;padding:0 0 0 2px}
.ima-item-orig{border-left:2px solid var(--_line);padding-left:10px}
