/* 1🌱 Tables — front end. Every visual value is a custom property so the Divi 5 module (or a
   style="" on the wrapper) can restyle a table without touching this file. Defaults reproduce the
   timber.mdac.ms.gov TablePress Styler look measured on 2026-09-22. */
.ost-wrap{
  --ost-head-bg:#404a20; --ost-head-color:#fff; --ost-head-size:20px; --ost-head-weight:700; --ost-head-align:center;
  --ost-cell-color:#666; --ost-cell-size:15px; --ost-cell-weight:700; --ost-cell-align:center; --ost-valign:middle;
  --ost-row-bg:#fff; --ost-alt-bg:#f2f2f2; --ost-hover-bg:#e8e8e8;
  --ost-line-color:#666; --ost-line-width:1px; --ost-vline-color:#666; --ost-vline-width:1px;
  --ost-link-color:#0c71c3; --ost-link-weight:700; --ost-link-decoration:none;
  --ost-pad:8px 10px; --ost-line-height:inherit; --ost-font:inherit; --ost-radius:5px; --ost-shadow:0 2px 18px 0 rgba(0,0,0,.3);
  --ost-control-accent:#404a20;
  margin:0 0 1.5em; font-family:var(--ost-font);
}
.ost-wrap .ost-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--ost-radius); box-shadow:var(--ost-shadow);}
.ost-wrap .ost-table{width:100%; border-collapse:collapse; border-spacing:0; background:var(--ost-row-bg); font-family:var(--ost-font);}
/* Divi's theme styles every content table (.entry-content table: border + 15px bottom margin); cancel it. */
.ost-wrap table.ost-table{margin:0!important; border:0!important;}
.ost-wrap .ost-table th,.ost-wrap .ost-table td{padding:var(--ost-pad); vertical-align:var(--ost-valign); border:0; line-height:var(--ost-line-height);}
.ost-wrap .ost-table thead th,.ost-wrap .ost-table tfoot th{background:var(--ost-head-bg); color:var(--ost-head-color); font-size:var(--ost-head-size); font-weight:var(--ost-head-weight); text-align:var(--ost-head-align);}
.ost-wrap .ost-table thead th{border-bottom:var(--ost-line-width) solid var(--ost-line-color);}
.ost-wrap .ost-table tfoot th{border-top:var(--ost-line-width) solid var(--ost-line-color);}
.ost-wrap .ost-table td{background:var(--ost-row-bg); color:var(--ost-cell-color); font-size:var(--ost-cell-size); font-weight:var(--ost-cell-weight); text-align:var(--ost-cell-align);}
.ost-wrap .ost-table tbody tr + tr td{border-top:var(--ost-line-width) solid var(--ost-line-color);}
.ost-wrap .ost-table th + th,.ost-wrap .ost-table td + td{border-left:var(--ost-vline-width) solid var(--ost-vline-color);}
.ost-wrap .ost-table.ost-striped tbody tr.ost-even td{background:var(--ost-alt-bg);}
.ost-wrap .ost-table.ost-striped:not(.ost-js) tbody tr:nth-child(even) td{background:var(--ost-alt-bg);}
.ost-wrap .ost-table.ost-hover tbody tr:hover td{background:var(--ost-hover-bg);}
.ost-wrap .ost-table a{color:var(--ost-link-color); font-weight:var(--ost-link-weight); text-decoration:var(--ost-link-decoration);}
.ost-wrap .ost-table a:hover{text-decoration:underline;}
.ost-wrap .ost-name{margin:0 0 .5em;}
.ost-wrap .ost-description{margin-top:.75em;}

/* sort */
.ost-wrap .ost-table th.ost-sortable{cursor:pointer; user-select:none; position:relative; padding-right:1.6em;}
.ost-wrap .ost-table th.ost-sortable::after{content:"\2195"; position:absolute; right:.5em; top:50%; transform:translateY(-50%); opacity:.45; font-size:.75em;}
.ost-wrap .ost-table th.ost-sortable[aria-sort="ascending"]::after{content:"\25B2"; opacity:.9;}
.ost-wrap .ost-table th.ost-sortable[aria-sort="descending"]::after{content:"\25BC"; opacity:.9;}
.ost-wrap .ost-table th.ost-sortable:focus-visible{outline:2px solid #fff; outline-offset:-4px;}

/* controls */
.ost-wrap .ost-bar{display:flex; flex-wrap:wrap; gap:.5em 1em; align-items:center; justify-content:space-between; margin:0 0 .75em;}
.ost-wrap .ost-bar-bottom{margin:.75em 0 0;}
.ost-wrap .ost-search{display:flex; align-items:center; gap:.4em; margin-left:auto;}
.ost-wrap .ost-search input{padding:.45em .7em; border:1px solid #bbb; border-radius:4px; font:inherit; min-width:12em; background:#fff; color:#333;}
.ost-wrap .ost-search input:focus{outline:2px solid var(--ost-control-accent); outline-offset:1px; border-color:var(--ost-control-accent);}
.ost-wrap .ost-info{font-size:.9em; color:#555;}
.ost-wrap .ost-pager{display:flex; flex-wrap:wrap; gap:.25em;}
.ost-wrap .ost-pager button{font:inherit; font-size:.9em; min-width:2.2em; padding:.35em .6em; border:1px solid #ccc; border-radius:4px; background:#fff; color:#333; cursor:pointer; line-height:1.2;}
.ost-wrap .ost-pager button[aria-current="page"]{background:var(--ost-control-accent); border-color:var(--ost-control-accent); color:#fff;}
.ost-wrap .ost-pager button:disabled{opacity:.4; cursor:default;}
.ost-wrap .ost-empty td{text-align:center; font-style:italic; font-weight:400;}
.ost-sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.ost-missing{padding:.75em 1em; border:1px dashed #c00; color:#c00; background:#fff5f5;}

/* mobile: stacked cards */
@media (max-width:767px){
  .ost-wrap.ost-mobile-stack .ost-scroll{overflow:visible; box-shadow:none; border-radius:0;}
  .ost-wrap.ost-mobile-stack .ost-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
  .ost-wrap.ost-mobile-stack .ost-table,.ost-wrap.ost-mobile-stack .ost-table tbody,.ost-wrap.ost-mobile-stack .ost-table tr,.ost-wrap.ost-mobile-stack .ost-table td{display:block; width:100%;}
  .ost-wrap.ost-mobile-stack .ost-table{background:transparent;}
  .ost-wrap.ost-mobile-stack .ost-table tbody tr{margin:0 0 1em; border-radius:var(--ost-radius); box-shadow:var(--ost-shadow); overflow:hidden;}
  .ost-wrap.ost-mobile-stack .ost-table tbody tr td:first-child{border-top:0;}
  .ost-wrap.ost-mobile-stack .ost-table td + td{border-left:0; border-top:var(--ost-line-width) solid var(--ost-line-color);}
  .ost-wrap.ost-mobile-stack .ost-table td{text-align:left; display:grid; grid-template-columns:minmax(6em,40%) 1fr; gap:.75em; align-items:center;}
  .ost-wrap.ost-mobile-stack .ost-table td:not([data-label]){display:block; text-align:var(--ost-cell-align);}
  .ost-wrap.ost-mobile-stack .ost-table td[data-label]::before{content:attr(data-label); font-weight:700; color:var(--ost-head-bg);}
  .ost-wrap.ost-mobile-stack .ost-table.ost-striped tbody tr td,.ost-wrap.ost-mobile-stack .ost-table.ost-striped tbody tr.ost-even td{background:var(--ost-row-bg);}
  .ost-wrap.ost-mobile-stack .ost-table tfoot{display:none;}
  .ost-wrap .ost-search{margin-left:0; width:100%;}
  .ost-wrap .ost-search input{flex:1; min-width:0;}
}
