.esmk-wrap{--gap:12px;--cardW:180px;--imgH:120px;--speed:24s;font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);font-size:13px;line-height:1.45;color:#0F2330}
.esmk-scroller{position:relative;overflow:hidden;border:1px solid #D4DEE6;border-radius:10px;background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.esmk-track{display:flex;gap:var(--gap);padding:10px;animation:esmk-marquee var(--speed) linear infinite;white-space:nowrap}
.esmk-card{width:var(--cardW);min-width:var(--cardW);display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;border-radius:10px;background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:8px;position:relative;color:inherit;vertical-align:top;border:1px solid #D4DEE6;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.esmk-card:hover{transform:translateY(-1px);border-color:rgba(241,193,193,.5);box-shadow:0 0 8px 0 rgba(224,90,90,.25);background:#FFFFFF}
.esmk-thumb-img{display:block;width:100%;height:var(--imgH);object-fit:cover;border-radius:8px;background:#F5F5F5}
.esmk-name{margin-top:6px;font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,sans-serif);font-size:15px;line-height:1.25;color:#1E5476;text-align:center;font-weight:600;white-space:normal}
.esmk-name a,.esmk-tile-imglink,.esmk-thumb-link{text-decoration:none;color:inherit}
.esmk-name a:hover{text-decoration:none;color:#0427C4}
.esmk-loc{font-family:var(--esafe-font-primary,"Inter",system-ui,sans-serif);font-size:13px;font-weight:400;line-height:1.4;color:#5A6A75;margin-top:3px;text-align:center}
.esmk-missing{font-family:var(--esafe-font-primary,"Inter",system-ui,sans-serif);font-size:13px;font-weight:400;line-height:1.4;color:#0F2330;margin-top:3px;text-align:center}
.esmk-missing span{font-weight:500}
.esmk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;margin-top:12px}
.esmk-tile{display:flex;gap:10px;padding:12px;background:#FFFFFF;border:1px solid #D4DEE6;border-radius:10px;text-decoration:none;color:inherit;align-items:center;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.esmk-tile:hover{transform:translateY(-1px);background:#FFFFFF;box-shadow:0 0 8px 0 rgba(224,90,90,.25);border-color:rgba(241,193,193,.5)}
.esmk-tile-img{display:block;width:120px;height:120px;object-fit:cover;border-radius:8px;background:#F5F5F5;transition:transform .25s ease}
.esmk-tile:hover .esmk-tile-img{transform:scale(1.02)}
.esmk-tile-meta{display:flex;flex-direction:column;align-items:flex-start}.esmk-tile-body{min-width:0}
.esmk-modal[hidden]{display:none}.esmk-modal{position:fixed;inset:0;z-index:9999}.esmk-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);backdrop-filter:saturate(110%) blur(1px)}
.esmk-modal-card{position:relative;max-width:520px;margin:8vh auto;background:#FFFFFF;border:1px solid #D4DEE6;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.12);padding:18px 18px 14px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.esmk-modal-card:hover{transform:translateY(-1px);border-color:rgba(241,193,193,.5);box-shadow:0 0 8px 0 rgba(224,90,90,.25)}
.esmk-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.esmk-title{font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,sans-serif);font-size:15px;font-weight:600;line-height:1.25;margin:0;color:#1E5476}.esmk-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.esafe-shortcode a{text-decoration:none}.esafe-shortcode a:hover,.esafe-shortcode a:focus{text-decoration:none}.esafe-shortcode a:focus,.esmk-tile:focus,.esmk-card:focus,.esmk-filterlink:focus,.esafe-btn:focus{outline:2px solid rgba(241,193,193,.85);outline-offset:2px}
@keyframes esmk-marquee{0%{transform:translateX(0)}100%{transform:translateX(var(--scrollDist,-100%))}}@media(prefers-reduced-motion:reduce){.esmk-track{animation:none}}@media(max-width:767px){.esmk-wrap{--speed:24s;--cardW:180px;--imgH:120px}}
.esmk-last-updated{font-size:12px;color:#9B9B9B;margin:4px 0 6px 2px;font-style:normal;line-height:1.4}
.esmk-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 8px 0;font-size:13px;color:#5A6A75;line-height:1.45}.esmk-sort-label{display:inline-flex;align-items:center;gap:6px}.esmk-sort-select{font-size:13px;border:1px solid #D4DEE6;border-radius:8px;padding:7px 12px;background:#FFFFFF;color:#0F2330;min-height:34px;line-height:1.4}.esmk-sort-select:focus{border-color:rgba(241,193,193,.85);box-shadow:0 0 6px 0 rgba(224,90,90,.35);outline:none}
.esmk-new-record{font-family:var(--esafe-font-primary,"Inter",system-ui,sans-serif);font-size:12px;font-weight:600;color:#8B0000;margin-top:3px;text-align:center;line-height:1.2;background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
.esmk-sublink,.esmk-filterlink{font-family:var(--esafe-font-primary,"Inter",system-ui,sans-serif);font-size:12px;font-weight:400;margin-left:8px;color:#E30000;text-decoration:none!important;transition:color .25s ease}.esmk-sublink:hover,.esmk-sublink:focus,.esmk-filterlink:hover,.esmk-filterlink:focus{color:#0427C4;text-decoration:none!important}
.esmk-filter-title{margin-top:2px;margin-bottom:8px;font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,sans-serif);font-size:15px;font-weight:600;line-height:1.25;color:#1E5476}.esmk-filter-form label,.esmk-sub-form label{display:block;font-size:13px;line-height:1.45;color:#0F2330;margin-bottom:8px;font-weight:500}.esmk-filter-form input,.esmk-filter-form select,.esmk-sub-form input,.esmk-sub-form select{width:100%;padding:8px 12px;border:1px solid #D4DEE6;border-radius:8px;font-size:13px;background:#FFFFFF;color:#0F2330;min-height:34px;line-height:1.4}.esmk-filter-form input:focus,.esmk-filter-form select:focus,.esmk-sub-form input:focus,.esmk-sub-form select:focus{border-color:rgba(241,193,193,.85);box-shadow:0 0 6px 0 rgba(224,90,90,.35);outline:none}.esmk-filter-form input[readonly],.esmk-sub-form input[readonly]{background:#F5F8FB;color:#5A6A75}.esmk-location-row{display:grid;grid-template-columns:88px 1fr 110px;gap:8px;margin-top:6px}.esmk-sub-modal[hidden]{display:none}.esmk-sub-modal{position:fixed;inset:0;z-index:9999}.esmk-sub-card{max-width:560px;border:1px solid #D4DEE6;box-shadow:0 6px 16px rgba(0,0,0,.12)}.esmk-sub-note{font-size:13px;line-height:1.45;color:#5A6A75;margin-bottom:10px}.esmk-sub-status{font-size:13px;line-height:1.45;color:#0F2330;background:#F5F8FB;border:1px solid #D4DEE6;border-radius:8px;padding:8px;margin:0 0 10px 0;min-height:18px}.esmk-radio-line{display:flex!important;align-items:center;gap:8px;margin:6px 0!important}.esmk-radio-line input{width:auto!important;min-height:0!important}.esmk-city-picker{border:1px solid #D4DEE6;border-radius:10px;padding:10px;margin-top:8px;background:#F5F8FB}.esmk-selected-cities{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.esmk-selected-city{display:inline-flex;align-items:center;gap:6px;border:1px solid #D4DEE6;background:#FFFFFF;border-radius:10px;padding:4px 8px;font-size:12px;color:#0F2330}.esmk-remove-city{border:0;background:transparent;color:#9b2c2c;cursor:pointer;font-size:14px;line-height:1;padding:0}.esmk-sub-actions{display:flex;justify-content:flex-end;margin-top:10px}.esmk-header-cta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.esmk-header h3{font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,sans-serif);font-size:18px;font-weight:600;line-height:1.25;color:#1E5476;margin:0 0 8px}
.esmk-card-new{border:1px solid rgba(139,0,0,.5);background:#F5F5F5;box-shadow:0 1px 2px rgba(0,0,0,.06)}.esmk-card-new:hover{border-color:rgba(139,0,0,.5);background:#F5F5F5;box-shadow:0 0 8px 0 rgba(224,90,90,.25)}.esmk-sub-actions .button{transition:all .25s ease}.esmk-sub-actions .button:hover{transform:translateY(-1px)}.esmk-city-picker select:disabled{background:#F5F8FB;color:#5A6A75}
@media(max-width:560px){.esmk-location-row{grid-template-columns:1fr}.esmk-controls{justify-content:flex-start}.esmk-sort-label{width:100%;align-items:flex-start;flex-direction:column}.esmk-sort-select{width:100%}}

/* v1.4.27 display-page image width and scroller height correction. Scope is display sizing only; working logic remains unchanged. */
.esmk-wrap[data-mode="list"] .esmk-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px 0;padding:14px 16px;background:#FFFFFF;border:1px solid #D4DEE6;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.esmk-wrap[data-mode="list"] .esmk-header:hover{transform:translateY(-1px);border-color:rgba(241,193,193,.5);box-shadow:0 0 8px 0 rgba(224,90,90,.25);background:#FFFFFF}
.esmk-wrap[data-mode="list"] .esmk-header h3{margin:0;font-size:18px;line-height:1.25;letter-spacing:.01em}
.esmk-wrap[data-mode="list"] .esmk-header-cta{margin-left:auto;justify-content:flex-end;gap:10px;align-items:center}
.esmk-wrap[data-mode="list"] .esmk-tile-imglink{flex:0 0 180px;width:180px;max-width:180px;align-self:center;display:block}
.esmk-wrap[data-mode="list"] .esmk-tile .esmk-thumb-img{width:180px;height:180px;max-width:180px;object-fit:cover}
@media(max-width:560px){.esmk-wrap[data-mode="list"] .esmk-header{align-items:flex-start;flex-direction:column;padding:14px;gap:10px}.esmk-wrap[data-mode="list"] .esmk-header-cta{margin-left:0;justify-content:flex-start}.esmk-wrap[data-mode="list"] .esmk-tile{align-items:flex-start;flex-direction:column}.esmk-wrap[data-mode="list"] .esmk-tile-imglink{flex:0 0 auto;width:180px;max-width:100%}.esmk-wrap[data-mode="list"] .esmk-tile .esmk-thumb-img{width:180px;height:180px;max-width:100%}}


/* v1.4.28 scroller height correction. The prior edit changed only the image variable, but the vertical metadata below the image still controlled total scroller height. This keeps the same visual language while making the scroller compact. */
.esmk-wrap[data-mode="scroller"]{--imgH:60px;--cardW:260px}
.esmk-wrap[data-mode="scroller"] .esmk-track{align-items:stretch;padding:8px 10px}
.esmk-wrap[data-mode="scroller"] .esmk-card{width:var(--cardW);min-width:var(--cardW);flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:8px;white-space:normal;text-align:left}
.esmk-wrap[data-mode="scroller"] .esmk-thumb-link{display:block;flex:0 0 60px;width:60px;max-width:60px;height:60px}
.esmk-wrap[data-mode="scroller"] .esmk-thumb-img{width:60px;height:60px;max-width:60px;object-fit:cover}
.esmk-wrap[data-mode="scroller"] .esmk-scroller-meta{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;white-space:normal}
.esmk-wrap[data-mode="scroller"] .esmk-name{margin-top:0;text-align:left;font-size:14px;line-height:1.2;width:100%}
.esmk-wrap[data-mode="scroller"] .esmk-loc,
.esmk-wrap[data-mode="scroller"] .esmk-missing{margin-top:2px;text-align:left;font-size:12px;line-height:1.25;width:100%}
.esmk-wrap[data-mode="scroller"] .esmk-new-record{margin-top:2px;text-align:left;font-size:11px;line-height:1.2;width:100%}
@media(max-width:767px){.esmk-wrap[data-mode="scroller"]{--cardW:240px;--imgH:60px}.esmk-wrap[data-mode="scroller"] .esmk-card{width:var(--cardW);min-width:var(--cardW)}}

/* v1.4.29 scroller header/footer layout update. Visual-only change: no feed, sorting, subscription, email, admin, or EMS logic changed. */
.esmk-wrap[data-mode="scroller"] .esmk-controls-with-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  margin:0 0 8px 0;
  width:100%;
}
.esmk-wrap[data-mode="scroller"] .esmk-control-links{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-right:8px;
  white-space:nowrap;
}
.esmk-wrap[data-mode="scroller"] .esmk-control-links .esmk-filterlink,
.esmk-wrap[data-mode="scroller"] .esmk-control-links .esmk-sublink{
  margin-left:0;
}
.esmk-wrap[data-mode="scroller"] .esmk-scroller-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  margin-top:8px;
  padding:0 2px;
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  color:#9B9B9B;
}
.esmk-wrap[data-mode="scroller"] .esmk-scroller-footer .esmk-attrib,
.esmk-wrap[data-mode="scroller"] .esmk-scroller-footer .esmk-footer-updated{
  display:inline-block;
  margin:0;
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  color:#9B9B9B;
  font-style:normal;
}
.esmk-wrap[data-mode="scroller"] .esmk-name{
  font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:#1E5476;
  text-align:left;
}
.esmk-wrap[data-mode="scroller"] .esmk-missing,
.esmk-wrap[data-mode="scroller"] .esmk-missing span{
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:12px;
  font-weight:400;
  line-height:1.25;
  color:#0F2330;
  text-align:left;
}
.esmk-wrap[data-mode="scroller"] .esmk-loc{
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:12px;
  font-weight:400;
  line-height:1.25;
  color:#5A6A75;
  text-align:left;
}
.esmk-wrap[data-mode="scroller"] .esmk-new-record,
.esmk-wrap[data-mode="scroller"] .esmk-new-record strong{
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  color:#8B0000;
  text-align:left;
}
@media(max-width:560px){
  .esmk-wrap[data-mode="scroller"] .esmk-controls-with-links{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px 10px;
    margin:0 0 8px 0;
    width:100%;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-control-links{
    display:inline-flex;
    flex:0 0 auto;
    width:auto;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    margin-right:0;
    white-space:nowrap;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-label{
    display:inline-flex;
    flex:0 1 auto;
    width:auto;
    min-width:0;
    align-items:center;
    flex-direction:row;
    justify-content:flex-start;
    gap:6px;
    white-space:nowrap;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-select{
    width:auto;
    max-width:180px;
    min-width:132px;
    min-height:30px;
    padding:6px 9px;
    font-size:12px;
    line-height:1.2;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-scroller-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}
@media(max-width:380px){
  .esmk-wrap[data-mode="scroller"] .esmk-controls-with-links{
    gap:6px 8px;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-select{
    max-width:150px;
    min-width:120px;
  }
}

/* v1.4.31 mobile scroller controls spacing correction.
   Scope: scroller controls only. This removes excessive mobile vertical spacing while preserving desktop layout,
   scroller card sizing, movement, sorting function, subscription function, and footer formatting. */
@media(max-width:560px){
  .esmk-wrap[data-mode="scroller"]{
    margin-top:0;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-controls-with-links{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center !important;
    justify-content:start !important;
    align-content:center !important;
    column-gap:10px !important;
    row-gap:4px !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 0 6px 0 !important;
    padding:0 !important;
    line-height:1.2 !important;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-control-links{
    grid-column:1;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    line-height:1.2 !important;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-control-links .esmk-filterlink,
  .esmk-wrap[data-mode="scroller"] .esmk-control-links .esmk-sublink{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-label{
    grid-column:2;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-select{
    width:auto !important;
    max-width:130px !important;
    min-width:112px !important;
    min-height:30px !important;
    height:30px !important;
    margin:0 !important;
    padding:6px 8px !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-controls-with-links + .esmk-scroller{
    margin-top:0 !important;
  }
}
@media(max-width:340px){
  .esmk-wrap[data-mode="scroller"] .esmk-controls-with-links{
    grid-template-columns:1fr;
  }
  .esmk-wrap[data-mode="scroller"] .esmk-sort-label{
    grid-column:1;
  }
}


/* v1.4.32 layout containment and current formatting compliance pass.
   Scope: visual formatting only. This fixes list card text centering, mobile gap bleed, and modal form spacing.
   Working behavior, sorting, filter logic, subscription logic, feed logic, EMS logic, and record data are unchanged. */
.esmk-wrap.esafe-shortcode,
.esmk-modal,
.esmk-sub-modal{
  --esafe-font-primary:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --esafe-font-secondary:"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --esafe-heading:#1E5476;
  --esafe-text:#0F2330;
  --esafe-muted:#5A6A75;
  --esafe-meta:#9B9B9B;
  --esafe-border:#D4DEE6;
  --esafe-surface:#FFFFFF;
  --esafe-soft-bg:#F5F5F5;
  --esafe-soft-border:#DADADA;
  --esafe-soft-text:#7A7A7A;
  --esafe-soft-hover-border:rgba(241,193,193,.5);
  --esafe-soft-hover-text:#D8677D;
  --esafe-soft-hover-shadow:0 0 6px 0 rgba(224,90,90,.5);
  font-family:var(--esafe-font-primary);
}

.esmk-wrap.esafe-shortcode *,
.esmk-modal *,
.esmk-sub-modal *{
  box-sizing:border-box;
}

/* Current component button context: general and form buttons use Inter 14px light, table-only buttons stay separate. */
.esmk-wrap.esafe-shortcode button,
.esmk-modal button,
.esmk-sub-modal button,
.esmk-wrap.esafe-shortcode .esafe-btn,
.esmk-modal .esafe-btn,
.esmk-sub-modal .esafe-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:10px 16px;
  border:1px solid var(--esafe-soft-border,#DADADA);
  border-radius:10px;
  background:var(--esafe-soft-bg,#F5F5F5);
  color:var(--esafe-soft-text,#7A7A7A);
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:14px;
  font-weight:300;
  line-height:1;
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  cursor:pointer;
  box-shadow:none;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease,transform .25s ease;
}
.esmk-wrap.esafe-shortcode button:hover,
.esmk-wrap.esafe-shortcode button:focus-visible,
.esmk-modal button:hover,
.esmk-modal button:focus-visible,
.esmk-sub-modal button:hover,
.esmk-sub-modal button:focus-visible,
.esmk-wrap.esafe-shortcode .esafe-btn:hover,
.esmk-wrap.esafe-shortcode .esafe-btn:focus-visible,
.esmk-modal .esafe-btn:hover,
.esmk-modal .esafe-btn:focus-visible,
.esmk-sub-modal .esafe-btn:hover,
.esmk-sub-modal .esafe-btn:focus-visible{
  background:#FFFFFF;
  border-color:var(--esafe-soft-hover-border,rgba(241,193,193,.5));
  color:var(--esafe-soft-hover-text,#D8677D);
  box-shadow:var(--esafe-soft-hover-shadow,0 0 6px 0 rgba(224,90,90,.5));
  text-decoration:none;
  outline:2px solid rgba(30,58,138,.25);
  outline-offset:2px;
}

/* Display page card content alignment: centered beside the image on desktop and centered below the image on mobile. */
.esmk-wrap[data-mode="list"] .esmk-grid{
  gap:12px;
  margin-top:8px;
}
.esmk-wrap[data-mode="list"] .esmk-tile{
  align-items:center;
  gap:14px;
  min-height:0;
}
.esmk-wrap[data-mode="list"] .esmk-tile-body{
  flex:1 1 auto;
  min-width:0;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:180px;
}
.esmk-wrap[data-mode="list"] .esmk-meta{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0;
  padding:0;
  line-height:1.25;
}
.esmk-wrap[data-mode="list"] .esmk-name,
.esmk-wrap[data-mode="list"] .esmk-missing,
.esmk-wrap[data-mode="list"] .esmk-loc,
.esmk-wrap[data-mode="list"] .esmk-new-record{
  width:100%;
  text-align:center;
  margin-left:0;
  margin-right:0;
}
.esmk-wrap[data-mode="list"] .esmk-name{
  margin-top:0;
  font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  color:#1E5476;
}
.esmk-wrap[data-mode="list"] .esmk-missing,
.esmk-wrap[data-mode="list"] .esmk-loc{
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:13px;
  font-weight:400;
  line-height:1.4;
}
.esmk-wrap[data-mode="list"] .esmk-new-record,
.esmk-wrap[data-mode="list"] .esmk-new-record strong{
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  color:#8B0000;
  text-align:center;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

/* Display page toolbar containment. Prevent full-page mobile form spacing from opening gaps above the first card. */
.esmk-wrap[data-mode="list"] .esmk-header{
  margin:0 0 8px 0;
}
.esmk-wrap[data-mode="list"] .esmk-header-cta{
  line-height:1.2;
}
.esmk-wrap[data-mode="list"] .esmk-controls{
  margin:0 0 8px 0;
  padding:0;
  min-height:0;
  line-height:1.2;
}
.esmk-wrap[data-mode="list"] .esmk-sort-label{
  margin:0;
  padding:0;
  min-height:0;
  line-height:1.2;
}
.esmk-wrap[data-mode="list"] .esmk-sort-select{
  min-height:34px;
  height:34px;
  margin:0;
  line-height:1.2;
}

/* Modal and popup containment. Stops inherited Elementor/theme/form spacing from stretching popup content. */
.esmk-modal[hidden],
.esmk-sub-modal[hidden]{
  display:none!important;
}
.esmk-modal,
.esmk-sub-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  padding:clamp(12px,4vh,32px) 12px;
}
.esmk-modal-card,
.esmk-sub-card{
  width:min(560px,calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow-y:auto;
  margin:0 auto;
  padding:16px;
  border:1px solid #D4DEE6;
  border-radius:12px;
  background:#FFFFFF;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.esmk-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:0;
  margin:0 0 10px 0;
  padding:0;
}
.esmk-title,
.esmk-filter-title{
  margin:0 0 8px 0;
  padding:0;
  font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  color:#1E5476;
}
.esmk-modal-body,
.esmk-filter-form,
.esmk-sub-form{
  margin:0;
  padding:0;
  min-height:0;
  line-height:1.45;
}
.esmk-filter-form,
.esmk-sub-form{
  display:grid;
  gap:10px;
}
.esmk-filter-form label,
.esmk-sub-form label{
  display:block;
  margin:0;
  padding:0;
  min-height:0;
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  color:#7A7A7A;
}
.esmk-filter-form input,
.esmk-filter-form select,
.esmk-sub-form input,
.esmk-sub-form select,
.esmk-filter-form textarea,
.esmk-sub-form textarea{
  display:block;
  width:100%;
  min-height:42px;
  height:auto;
  margin:6px 0 0 0;
  padding:9px 12px;
  border:1px solid #D4DEE6;
  border-radius:10px;
  background:#FFFFFF;
  color:#A0A0A0;
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:14px;
  font-weight:300;
  line-height:1.55;
  letter-spacing:0;
  box-shadow:none;
}
.esmk-filter-form input::placeholder,
.esmk-sub-form input::placeholder,
.esmk-filter-form textarea::placeholder,
.esmk-sub-form textarea::placeholder{
  color:#A0A0A0;
  opacity:1;
}
.esmk-filter-form input:focus,
.esmk-filter-form select:focus,
.esmk-sub-form input:focus,
.esmk-sub-form select:focus{
  border-color:#1E5476;
  box-shadow:0 0 0 3px rgba(30,84,118,.08);
  outline:2px solid rgba(30,84,118,.20);
  outline-offset:1px;
}
.esmk-location-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) 110px;
  gap:10px;
  margin:0;
  padding:0;
  align-items:end;
}
.esmk-actions,
.esmk-sub-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin:4px 0 0 0;
  padding:0;
  min-height:0;
  line-height:1;
}
.esmk-radio-line{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  line-height:1.35!important;
}
.esmk-radio-line input{
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
.esmk-city-picker{
  display:grid;
  gap:10px;
  margin:0;
  padding:10px;
  border:1px solid #D4DEE6;
  border-radius:10px;
  background:#F5F8FB;
}
.esmk-city-picker[hidden]{
  display:none!important;
}
.esmk-sub-note,
.esmk-sub-status{
  margin:0 0 10px 0;
  font-family:var(--esafe-font-primary,"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}
.esmk-sub-status{
  padding:8px 10px;
  border:1px solid #D4DEE6;
  border-radius:8px;
  background:#F5F8FB;
  color:#0F2330;
}
.esmk-close{
  flex:0 0 auto;
  min-width:36px;
  width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  font-size:18px;
  line-height:1;
}

/* Scroller current standard cleanup: Source Sans 3 is the approved scroller-name font in the active project guidance. */
.esmk-wrap[data-mode="scroller"] .esmk-name{
  font-family:var(--esafe-font-secondary,"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:#1E5476;
}
.esmk-wrap[data-mode="scroller"] .esmk-new-record,
.esmk-wrap[data-mode="scroller"] .esmk-new-record strong{
  font-weight:600;
}

@media(max-width:560px){
  .esmk-wrap[data-mode="list"] .esmk-header{
    align-items:flex-start;
    flex-direction:column;
    gap:8px!important;
    margin:0 0 8px 0!important;
    padding:12px!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-header h3{
    margin:0!important;
    line-height:1.25!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-header-cta{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    line-height:1.2!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-header-cta .esmk-filterlink,
  .esmk-wrap[data-mode="list"] .esmk-header-cta .esmk-sublink{
    display:inline-flex!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 8px 0!important;
    padding:0!important;
    line-height:1.2!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-sort-label{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-sort-select{
    width:auto!important;
    max-width:190px!important;
    min-width:150px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:6px 9px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-grid{
    margin-top:8px!important;
    gap:12px!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-tile{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:12px!important;
    text-align:center!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-tile-imglink{
    margin:0 auto!important;
    align-self:center!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-tile-body{
    width:100%!important;
    min-height:0!important;
    align-self:center!important;
    justify-content:center!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-meta{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .esmk-location-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:0!important;
  }
  .esmk-modal,
  .esmk-sub-modal{
    align-items:flex-start;
    padding:12px;
  }
  .esmk-modal-card,
  .esmk-sub-card{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 24px)!important;
    margin:0!important;
    padding:14px!important;
  }
  .esmk-actions,
  .esmk-sub-actions{
    justify-content:flex-end!important;
    gap:8px!important;
    margin-top:4px!important;
  }
}
@media(max-width:360px){
  .esmk-wrap[data-mode="list"] .esmk-controls{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-sort-label{
    width:100%!important;
  }
  .esmk-wrap[data-mode="list"] .esmk-sort-select{
    width:100%!important;
    max-width:100%!important;
  }
}
