/* Publisher directory posts — ultra-professional table layout */
.sa-post-frame { max-width: 1080px; padding: 36px 40px 52px; }
.sa-post-head { margin: 0 0 28px; padding-bottom: 22px; border-bottom: 1px solid #e2e8f0; }
.sa-post-title { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.65rem); font-weight: 700; color: #0f172a; line-height: 1.35; letter-spacing: -.02em; }
.domain-directory { color: #334155; }
.domain-directory > p { font-size: .95rem; line-height: 1.75; color: #475569; margin: 0 0 24px; }
.domain-directory h2 { margin: 32px 0 14px; padding-bottom: 10px; border-bottom: 2px solid #0f172a; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0f172a; }
.domain-directory table, .fp-pub-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0 0 28px; border: 1px solid #dbe3ef; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(15,23,42,.06); }
.domain-directory td, .fp-pub-cell { padding: 15px 18px; border: 1px solid #e8edf4; vertical-align: top; font-size: .84rem; line-height: 1.6; background: #fff; }
.domain-directory tr:nth-child(even) td { background: #f8fafc; }
.domain-directory td a { color: #1e293b; text-decoration: none; font-weight: 500; transition: color .15s; }
.domain-directory td a:hover { color: #2563eb; }
.domain-directory td:empty { background: #f1f5f9; }
details.fp-links summary.fp-links-skip {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* FP Atlas — responsive chip directory (1/2/3/4 columns) */
.fp-atlas-table td { padding: 15px 18px; }
.fp-atlas-grid {
  column-count: 1;
  column-gap: 20px;
}
.fp-atlas-chip {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #f3f3f3;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #0066cc !important;
  text-decoration: none !important;
  font-size: 14px;
  text-align: center;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

@media (max-width: 599px) {
  .fp-atlas-table tr { display: block; }
  .fp-atlas-table td { display: block; width: 100%; }
}

/* >= 900px: left=1 column + right=2 columns => 3 total */
@media (min-width: 900px) {
  .fp-atlas-grid-right { column-count: 2; }
}

/* >= 1200px: left=2 + right=2 => 4 total */
@media (min-width: 1200px) {
  .fp-atlas-grid-left,
  .fp-atlas-grid-right { column-count: 2; }
}
