/* Events calendar, buyer requests (RFQ) */
.narrow { max-width: 820px; }
.grid-2 { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
@media (max-width: 420px) { .grid-2 { grid-template-columns: 1fr; } }
.ev-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; align-items: center; }
.photo-head .btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .08); }
.ev-card { display: flex; flex-direction: column; overflow: hidden; color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ev-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(10, 35, 66, .14); }
.ev-img { position: relative; aspect-ratio: 16 / 8; background: var(--pine); }
.ev-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-live, .ev-in { position: absolute; inset-block-start: .75rem; inset-inline-start: .75rem; display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .7rem; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.ev-live { background: #c62828; color: #fff; }
.ev-live.static { position: static; }
.ev-live i { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: evPulse 1.4s infinite; }
@keyframes evPulse { 50% { opacity: .3; } }
.ev-in { background: rgba(7, 24, 47, .82); color: var(--sun); }
.ev-body { padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.ev-date { color: var(--accent); font-weight: 600; font-size: .88rem; display: flex; gap: .35rem; align-items: center; }
.ev-name { font-family: var(--font-head, inherit); font-size: 1.2rem; margin: 0; }
.ev-foot { display: flex; gap: 1rem; margin-top: auto; padding-top: .6rem; border-top: 1px solid var(--line, #e3e8f0); }
.ev-foot span, .rfq-meta span { display: inline-flex; gap: .3rem; align-items: center; }
.ev-detail { display: grid; grid-template-columns: 1fr 340px; gap: 1.25rem; padding-block: 1.5rem 3rem; align-items: start; }
.ev-partner { display: flex; gap: .6rem; align-items: center; font-weight: 600; background: linear-gradient(90deg, var(--sun-soft, #fdf3d6), transparent); }
.ev-people { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
.ev-people li { display: flex; align-items: center; gap: .7rem; }
@media (max-width: 900px) { .ev-detail { grid-template-columns: 1fr; } }
.rfq-card { display: flex; flex-direction: column; gap: .6rem; color: inherit; text-decoration: none; border-inline-start: 4px solid transparent; transition: box-shadow .2s, border-color .2s; }
.rfq-card:hover { box-shadow: 0 10px 24px rgba(10, 35, 66, .12); }
.rfq-card.fit { border-inline-start-color: var(--accent); }
.rfq-top { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.rfq-top .match-pill { position: static; }
.rfq-title { margin: 0; font-size: 1.08rem; line-height: 1.5; }
.rfq-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.rfq-buyer { display: flex; align-items: center; gap: .7rem; }
.rfq-buyer .chip { margin-inline-start: auto; }
.wtm-band { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; padding: .8rem 1rem; margin-bottom: 1rem; background: linear-gradient(90deg, #0a2342, #1d4e89); color: #fff; border-radius: 12px; }
.wtm-band a { color: var(--sun); font-weight: 700; }
.wtm-band .ev-live { position: static; }
/* Text updates */
.post-text { display: block; padding: 1.4rem 1.25rem; font-size: 1.05rem; line-height: 1.75; white-space: pre-line; color: var(--ink, #0d1b2e); background: linear-gradient(135deg, #eef4ff, #fff8e6); text-decoration: none; min-height: 120px; }
.post-text.big { font-size: 1.2rem; min-height: 260px; display: flex; align-items: center; }
.text-tile { position: absolute; inset: 0; display: flex; align-items: center; padding: .9rem; font-size: .85rem; line-height: 1.55; color: #fff; background: linear-gradient(135deg, var(--pine), var(--accent)); overflow: hidden; }

/* Unregistered (listed-only) supplier badge */
.chip-muted { background: #eef1f5; color: #4a5568; border: 1px dashed #b8c2cf; }
.s-foot [data-unregistered] { color: var(--muted); }
/* API marketplace: features, contact, provider dashboard lists */
.api-features { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .35rem; }
.api-features li { display: flex; gap: .5rem; align-items: flex-start; }
.api-features .ic { color: var(--accent); flex: none; margin-top: .2rem; }
.api-contact { display: grid; gap: .5rem; padding: 1rem; border: 1px solid var(--line, #e3e8ee); border-radius: 12px; }
.api-locked { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; margin: 0 0 .6rem; padding: 0; list-style: none; }
.api-locked li::before { content: "•"; margin-inline-end: .35rem; }
.api-mine { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .5rem; }
.api-mine li { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; padding: .6rem 0; border-bottom: 1px solid var(--line, #e3e8ee); }
.api-mine li > .caption { flex: 1 1 12rem; }
/* API filters: search on its own row, four selects, then sandbox + apply */
.filter-bar.api-filter { grid-template-columns: repeat(4, 1fr); }
.api-filter .filter-q { grid-column: 1 / -1; }
.api-filter .chip { justify-content: center; }
.api-filter .btn { grid-column: span 3; }
@media (max-width: 860px) { .filter-bar.api-filter { grid-template-columns: 1fr 1fr; } .api-filter .btn { grid-column: 1 / -1; } }
@media (max-width: 560px) { .filter-bar.api-filter { grid-template-columns: 1fr; } }

/* Destinations, jobs, reviews */
.dest-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.dest-card { display: flex; flex-direction: column; gap: .3rem; color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.dest-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(10, 35, 66, .12); }
.dest-code { font-size: .75rem; font-weight: 600; color: var(--accent); letter-spacing: .08em; }
.plain-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.rev-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.rev-top { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.rev-stars { display: inline-flex; gap: 2px; }
.rev-stars .on { color: #e0a526; }
.rev-stars .off { color: #cbd3de; }
