/* SGEW Frontend Styles (Fix12 rebuild) */
:root{ --sgew-gap:.75rem; --sgew-border:#e6e6e6; --sgew-muted:#666; }
.sgew-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
.sgew-filters input, .sgew-filters select{padding:.5rem .6rem;border:1px solid var(--sgew-border);border-radius:10px;min-height:38px;background:#fff}
.sgew-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}
.sgew-item{background:#fff;border-radius:8px; --sgew-block-gap:.5rem; padding: .75rem;}
.sgew-pagination{display:flex;gap:.5rem;justify-content:center;margin-top:1rem;align-items:center}
.sgew-pagination button{padding:.5rem .8rem;border:1px solid var(--sgew-border);background:#fff;border-radius:8px;cursor:pointer}
.sgew-pageinfo{font-size:.9rem;color:var(--sgew-muted)}
.sgew-error{white-space:pre-wrap;background:#fff3f3;border:1px solid #ffd7d7;padding:.75rem;border-radius:10px}
.sgew-loc{ margin: 0 0 var(--sgew-block-gap) 0; }
.sgew-meta{ margin: 0 0 var(--sgew-block-gap) 0; }
.sgew-desc{ margin: 0 0 var(--sgew-block-gap) 0; line-height:1.6 }
.sgew-contact{ margin: 0 0 var(--sgew-block-gap) 0; }
.sgew-contact p{margin:.15rem 0}
.sgew-actions{ margin: 0 }
.sgew-actions .sgew-btn{display:inline-block;text-decoration:none;}

.sgew-title-icon{margin-right:.35rem;display:inline-flex;}
.sgew-title-icon-inner{display:inline-block;}


/* List layout: one job per row with CTA on the right */
.sgew-item.sgew-item-list{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}

.sgew-item.sgew-item-list .sgew-item-main{
  flex:1 1 auto;
}

.sgew-item.sgew-item-list .sgew-actions{
  margin:0 0 0 1rem;
  flex:0 0 auto;
}

.sgew-item.sgew-item-list .sgew-actions .sgew-btn{
  white-space:nowrap;
}


/* Icon color from widget control */
.sgew-title-icon-inner svg,
.sgew-title-icon-inner svg * {
  fill: currentColor;
}

/* CTA Position: Cards "beside" — card becomes flex row */
.sgew-item.sgew-item-beside{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}
.sgew-item.sgew-item-beside > *:not(.sgew-actions){
  flex:1 1 auto;
  min-width:0;
}
.sgew-item.sgew-item-beside > .sgew-actions{
  margin:0 0 0 1rem;
  flex:0 0 auto;
}
.sgew-item.sgew-item-beside > .sgew-actions .sgew-btn{
  white-space:nowrap;
}

/* CTA Position: List "below" — stack vertically instead of side-by-side */
.sgew-item.sgew-item-list.sgew-item-below{
  display:block;
}
.sgew-item.sgew-item-list.sgew-item-below .sgew-actions{
  margin:var(--sgew-block-gap) 0 0 0;
}

/* ── Accessibility ────────────────────────────────────────── */

/* Skip-Link: visible only on focus */
.sgew-skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  z-index:999;
  padding:.5rem 1rem;
  background:#005fcc;
  color:#fff;
  text-decoration:none;
  border-radius:4px;
  font-size:.875rem;
}
.sgew-skip-link:focus{
  position:relative;
  left:auto;
  width:auto;
  height:auto;
  overflow:visible;
  display:inline-block;
  margin-bottom:.5rem;
}

/* Focus-visible styles for all interactive elements */
.sgew-root a:focus-visible,
.sgew-root button:focus-visible,
.sgew-root input:focus-visible,
.sgew-root select:focus-visible,
.sgew-root [tabindex]:focus-visible{
  outline:2px solid #005fcc;
  outline-offset:2px;
}

/* Pagination nav inherits flex layout */
.sgew-pagination-nav{
  display:flex;
  gap:.5rem;
  align-items:center;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .sgew-root, .sgew-root *{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: more){
  .sgew-item{
    border:2px solid currentColor;
  }
  .sgew-btn{
    border:2px solid currentColor;
  }
}

/* Forced colors (Windows High Contrast) */
@media (forced-colors: active){
  .sgew-btn{
    border:1px solid ButtonText;
  }
  .sgew-item{
    border:1px solid CanvasText;
  }
}
