/* Paid sponsorships (#519): the labeled Sponsored box in the directory, the
   "Sponsored by" credit on events (both drawn by js/sponsored.js), and the
   /sponsors/tiers page. Sponsored boxes are deliberately unlike directory
   cards: dashed border, small caps label, no rating or tags. */

.dir-sponsored {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1.5px dashed #b9a46a;
  border-radius: 12px;
  background: #fbf8ef;
  color: #22304f;
}
.dir-sponsored-label {
  display: inline-block;
  margin: 0 0 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5b5546;
}
.dir-sponsored-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.dir-sponsored-item { display: grid; gap: 2px; }
.dir-sponsored-item a { font-weight: 700; color: #1d3a6b; }
.dir-sponsored-item p { margin: 0; font-size: 0.95rem; color: #4a4f5c; }
.dir-sponsored--top { margin: 0 0 20px; }
.dir-sponsored--top .dir-sponsored-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.event-sponsor-credit {
  margin: 6px 0 0;
  font-size: 0.9rem;
  color: #5b5546;
}
.event-sponsor-credit a { color: #1d3a6b; font-weight: 700; }
.event-sponsor-credit .event-sponsor-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-right: 6px;
}

/* /sponsors/tiers */
.spt-testmode { margin-top: 12px; padding: 10px 14px; border-radius: 10px; background: #fff3cf; color: #3d3420; }
.spt-notice { margin-top: 12px; padding: 10px 14px; border-radius: 10px; background: #e6f3ea; color: #1f4a2c; }
.spt-tiers { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin: 16px 0 32px; }
.spt-tier h3 { margin: 0 0 6px; }
.spt-price { margin: 0 0 8px; font-size: 1.6rem; font-weight: 800; color: #1d3a6b; }
.spt-price span { font-size: 0.95rem; font-weight: 600; color: #5b5546; }
.spt-rules { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 6px; }
.spt-form { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 16px; }
.spt-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.spt-form input:not([type="checkbox"]), .spt-form select, .spt-form textarea { width: 100%; }
.spt-wide { grid-column: 1 / -1; }
.spt-count { font-weight: 400; font-size: 0.85rem; color: #5b5546; }
.spt-cat-list { display: grid; gap: 4px 16px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); max-height: 320px; overflow: auto; padding: 4px; }
.spt-cat-list label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; margin: 0; }
.spt-ack { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.spt-status { margin: 12px 0; padding: 12px 14px; border-radius: 10px; background: #eef2f8; color: #22304f; }
.spt-status .btn { margin-top: 8px; }
