/* The Local Exchange — component-scoped styles; no Tailwind rebuild required. */
.exchange-shell { --ex-ink:#10233f; --ex-muted:#60728d; --ex-line:#dce5ef; --ex-surface:#fff; --ex-soft:#f4f8fc; --ex-brand:var(--brand-600,#0891b2); --ex-brand-dark:#08758d; --ex-warm:#ef8a35; color:var(--ex-ink); }
.exchange-shell * { box-sizing:border-box; }
.exchange-wrap { max-width:1280px; margin:0 auto; padding:0 1rem; }
.exchange-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:linear-gradient(125deg,#053f63 0%,#087d97 52%,#12a78c 100%); }
.exchange-hero::after { content:""; position:absolute; z-index:-1; width:42rem; height:42rem; right:-15rem; top:-23rem; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.26),rgba(255,255,255,0) 67%); }
.exchange-hero-inner { padding:3.25rem 0 2.25rem; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:2rem; align-items:end; }
.exchange-kicker { margin:0 0 .65rem; color:#bff8ef; letter-spacing:.13em; text-transform:uppercase; font-weight:800; font-size:.72rem; }
.exchange-hero h1 { margin:0; max-width:13ch; color:#fff; font-size:clamp(2.2rem,5vw,4.3rem); line-height:.98; letter-spacing:-.055em; font-weight:850; }
.exchange-hero-copy { max-width:42rem; margin:1rem 0 0; color:#e0fbf7; font-size:1.05rem; line-height:1.65; }
.exchange-search { display:flex; align-items:center; gap:.55rem; max-width:48rem; margin-top:1.45rem; padding:.45rem; border:1px solid rgba(255,255,255,.32); border-radius:1rem; background:#fff; box-shadow:0 18px 36px rgba(0,32,60,.22); }
.exchange-search input { min-width:0; flex:1; border:0; outline:0; color:var(--ex-ink); font-size:1rem; padding:.65rem .8rem; background:transparent; }
.exchange-search button, .exchange-post-link { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:.72rem; padding:.78rem 1rem; color:#fff; background:var(--ex-ink); font-size:.9rem; font-weight:800; text-decoration:none; cursor:pointer; white-space:nowrap; }
.exchange-search button:hover, .exchange-post-link:hover { background:#071526; color:#fff; }
.exchange-hero-side { display:grid; gap:.85rem; }
.exchange-hero-card { padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.24); border-radius:1rem; background:rgba(2,53,78,.24); backdrop-filter:blur(10px); }
.exchange-hero-card strong { display:block; color:#fff; font-size:1.05rem; }
.exchange-hero-card span { display:block; margin-top:.25rem; color:#d8faf4; font-size:.85rem; line-height:1.45; }
.exchange-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; padding:1.2rem 0 1.4rem; }
.exchange-stat { min-width:0; padding:.85rem .3rem .1rem; border-right:1px solid rgba(255,255,255,.25); }
.exchange-stat:last-child { border-right:0; }
.exchange-stat strong { display:block; font-size:1.32rem; line-height:1; }
.exchange-stat span { display:block; margin-top:.3rem; color:#c9f5ed; font-size:.74rem; line-height:1.2; }
.exchange-main { padding:2.2rem 0 4.5rem; background:var(--ex-soft); }
.exchange-section { margin-top:2rem; }
.exchange-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.exchange-section-heading h2 { margin:0; color:var(--ex-ink); font-size:1.45rem; letter-spacing:-.035em; line-height:1.1; }
.exchange-section-heading p { margin:.3rem 0 0; color:var(--ex-muted); font-size:.88rem; }
.exchange-text-link { color:var(--ex-brand-dark); text-decoration:none; font-size:.86rem; font-weight:800; white-space:nowrap; }
.exchange-text-link:hover { text-decoration:underline; }
.exchange-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.exchange-category { position:relative; min-height:7.7rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:1rem; overflow:hidden; border:1px solid var(--ex-line); border-radius:1rem; color:var(--ex-ink); background:var(--ex-surface); text-decoration:none; box-shadow:0 1px 1px rgba(16,35,63,.02); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.exchange-category:hover { transform:translateY(-3px); border-color:#80c8d4; box-shadow:0 12px 25px rgba(18,53,83,.1); color:var(--ex-ink); }
.exchange-category-icon { position:absolute; top:.7rem; right:.85rem; font-size:1.7rem; line-height:1; filter:saturate(.9); }
.exchange-category strong { max-width:11ch; font-size:.95rem; line-height:1.18; }
.exchange-category small { margin-top:.28rem; color:var(--ex-muted); font-size:.72rem; }
.exchange-filterbar { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding:1rem; border:1px solid var(--ex-line); border-radius:1rem; background:#fff; }
.exchange-filter-label { margin-right:.1rem; color:var(--ex-muted); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.exchange-pill { display:inline-flex; align-items:center; gap:.38rem; padding:.5rem .72rem; border:1px solid #d5e0ea; border-radius:999px; color:#415572; background:#fff; text-decoration:none; font-size:.81rem; font-weight:750; }
.exchange-pill:hover { border-color:#6fb8c6; color:#075e73; }
.exchange-pill.is-active { border-color:var(--ex-brand); color:#fff; background:var(--ex-brand); }
.exchange-sort-form { display:flex; align-items:center; gap:.45rem; margin-left:auto; }
.exchange-sort-form label { color:var(--ex-muted); font-size:.76rem; font-weight:700; }
.exchange-sort-form select { min-height:2.35rem; border:1px solid #cddbe6; border-radius:.6rem; padding:0 .55rem; color:#223752; background:#fff; font:inherit; font-size:.82rem; }
.exchange-sort-form button { min-height:2.35rem; border:1px solid #cddbe6; border-radius:.6rem; padding:0 .7rem; color:#314560; background:#fff; font-size:.77rem; font-weight:800; }
.exchange-activity { padding:1.25rem; border:1px solid var(--ex-line); border-radius:1rem; background:#fff; }
.exchange-tabs { display:flex; flex-wrap:wrap; gap:.45rem; }
.exchange-tab { appearance:none; border:1px solid #d5e0ea; border-radius:999px; padding:.48rem .75rem; color:#536984; background:#fff; font:inherit; font-size:.8rem; font-weight:800; cursor:pointer; }
.exchange-tab[aria-selected="true"] { border-color:#b2e8e2; color:#075e73; background:#e8fbf8; }
.exchange-panel { display:none; margin-top:1rem; }
.exchange-panel.is-active { display:block; }
.exchange-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(12.2rem,1fr); gap:.75rem; overflow:auto; padding:.1rem .1rem .65rem; scrollbar-color:#9eb4c5 transparent; }
.exchange-mini-card { display:block; overflow:hidden; border:1px solid #dce5ef; border-radius:.8rem; color:var(--ex-ink); background:#fff; text-decoration:none; }
.exchange-mini-card:hover { border-color:#74bdca; color:var(--ex-ink); }
.exchange-mini-media { height:6.4rem; display:flex; align-items:center; justify-content:center; overflow:hidden; color:#8ba0b4; background:#edf3f8; font-size:1.6rem; }
.exchange-mini-media img { width:100%; height:100%; object-fit:cover; }
.exchange-mini-copy { padding:.7rem .75rem; }
.exchange-mini-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.exchange-mini-copy span { display:block; margin-top:.28rem; color:#08758d; font-size:.78rem; font-weight:800; }
.exchange-results-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin:2rem 0 1rem; }
.exchange-results-heading h2 { margin:0; color:var(--ex-ink); font-size:1.3rem; letter-spacing:-.03em; }
.exchange-results-heading p { margin:.35rem 0 0; color:var(--ex-muted); font-size:.84rem; }
.exchange-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.exchange-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--ex-line); border-radius:1rem; background:#fff; box-shadow:0 1px 2px rgba(16,35,63,.03); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.exchange-card:hover { transform:translateY(-3px); border-color:#7ac2ce; box-shadow:0 13px 28px rgba(20,51,78,.12); }
.exchange-card-media { position:relative; display:block; aspect-ratio:1.23/1; overflow:hidden; color:#8ba0b4; background:#eaf1f6; text-decoration:none; }
.exchange-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.exchange-card:hover .exchange-card-media img { transform:scale(1.04); }
.exchange-card-placeholder { display:flex; width:100%; height:100%; align-items:center; justify-content:center; font-size:2.2rem; }
.exchange-card-ribbon, .exchange-card-gallery { position:absolute; z-index:1; top:.6rem; border-radius:999px; padding:.3rem .5rem; color:#fff; background:rgba(8,41,65,.84); font-size:.65rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.exchange-card-ribbon { left:.6rem; }
.exchange-card-ribbon.is-reduced { color:#713500; background:#ffe4cb; }
.exchange-card-gallery { right:.6rem; }
.exchange-card-copy { display:flex; flex:1; flex-direction:column; padding:.9rem; }
.exchange-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-width:0; }
.exchange-card-category { overflow:hidden; color:#51708c; font-size:.68rem; font-weight:850; letter-spacing:.075em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.exchange-card-price { flex:0 0 auto; color:#08758d; font-size:1rem; font-weight:900; }
.exchange-card-title { display:block; overflow:hidden; margin:.48rem 0 0; color:var(--ex-ink); font-size:.98rem; font-weight:850; line-height:1.28; text-decoration:none; }
.exchange-card-title:hover { color:#04748a; }
.exchange-card-description { display:-webkit-box; overflow:hidden; margin:.38rem 0 0; color:#667a94; font-size:.78rem; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.exchange-card-attributes { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.7rem; }
.exchange-chip { padding:.22rem .42rem; border-radius:.38rem; color:#536984; background:#f1f5f8; font-size:.67rem; font-weight:750; }
.exchange-card-footer { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.85rem; color:#71849b; font-size:.72rem; }
.exchange-seller { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exchange-actions { display:flex; align-items:center; justify-content:space-between; gap:.45rem; padding:.65rem .85rem; border-top:1px solid #e7edf2; background:#fbfdff; }
.exchange-watch-form { margin:0; }
.exchange-watch, .exchange-share { display:inline-flex; align-items:center; gap:.28rem; min-height:2rem; border:0; border-radius:.52rem; padding:.42rem .55rem; color:#48617b; background:transparent; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }
.exchange-watch:hover, .exchange-share:hover { color:#075e73; background:#e7f8f6; }
.exchange-watch.is-watching { color:#075e73; background:#e7f8f6; }
.exchange-login-watch { display:inline-flex; align-items:center; min-height:2rem; padding:.42rem .55rem; color:#48617b; font-size:.72rem; font-weight:800; text-decoration:none; }
.exchange-login-watch:hover { color:#075e73; }
.exchange-empty { padding:4rem 1.5rem; border:1px dashed #bdd0df; border-radius:1rem; text-align:center; background:#fff; }
.exchange-empty span { display:block; font-size:2.3rem; }
.exchange-empty h3 { margin:.9rem 0 0; color:var(--ex-ink); font-size:1.2rem; }
.exchange-empty p { max-width:32rem; margin:.45rem auto 0; color:var(--ex-muted); line-height:1.55; }
.exchange-empty a { display:inline-flex; margin-top:1rem; border-radius:.65rem; padding:.65rem .85rem; color:#fff; background:var(--ex-brand); text-decoration:none; font-size:.83rem; font-weight:800; }
@media (max-width:1080px) { .exchange-category-grid,.exchange-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .exchange-hero-inner { grid-template-columns:1fr; padding:2.4rem 0 1.4rem; } .exchange-hero h1 { max-width:16ch; } .exchange-hero-side { display:none; } .exchange-stats { gap:0; } .exchange-stat { padding-left:.35rem; padding-right:.35rem; } .exchange-category-grid,.exchange-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .exchange-filterbar { align-items:flex-start; } .exchange-sort-form { width:100%; margin-left:0; } .exchange-sort-form select { flex:1; } }
@media (max-width:440px) { .exchange-wrap { padding:0 .8rem; } .exchange-search { flex-wrap:wrap; } .exchange-search input { width:100%; flex-basis:100%; } .exchange-search button { width:100%; } .exchange-stats { grid-template-columns:repeat(2,1fr); } .exchange-stat:nth-child(2) { border-right:0; } .exchange-stat:nth-child(n+3) { margin-top:.65rem; } .exchange-category-grid { gap:.55rem; } .exchange-category { min-height:6.65rem; padding:.75rem; } .exchange-card-copy { padding:.75rem; } .exchange-section-heading { align-items:flex-start; flex-direction:column; } }


/* Product page */
.exchange-detail-main { padding:2.1rem 0 4.5rem; background:var(--ex-soft); }
.exchange-breadcrumb { display:flex; flex-wrap:wrap; gap:.35rem; margin:0 0 1.2rem; color:#6d8198; font-size:.8rem; }
.exchange-breadcrumb a { color:#46647e; text-decoration:none; }
.exchange-breadcrumb a:hover { color:#08758d; text-decoration:underline; }
.exchange-detail-grid { display:grid; grid-template-columns:minmax(0,1.52fr) minmax(17.5rem,.72fr); gap:1.45rem; align-items:start; }
.exchange-item-surface { border:1px solid var(--ex-line); border-radius:1.1rem; background:#fff; box-shadow:0 1px 2px rgba(16,35,63,.03); }
.exchange-item-head { padding:1.35rem 1.35rem 0; }
.exchange-item-overline { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; color:#5c7189; font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.exchange-item-type { border-radius:999px; padding:.3rem .55rem; color:#075e73; background:#e8fbf8; }
.exchange-item-head h1 { margin:.65rem 0 0; color:var(--ex-ink); font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.05; letter-spacing:-.045em; }
.exchange-item-subline { display:flex; flex-wrap:wrap; gap:.45rem; margin:.72rem 0 0; color:#6a7f97; font-size:.83rem; }
.exchange-gallery { margin:1.2rem 1.35rem 0; overflow:hidden; border-radius:.85rem; background:#edf3f8; }
.exchange-gallery-main { display:flex; min-height:20rem; align-items:center; justify-content:center; overflow:hidden; background:#edf3f8; }
.exchange-gallery-main img { width:100%; max-height:35rem; object-fit:contain; }
.exchange-gallery-empty { display:flex; min-height:20rem; align-items:center; justify-content:center; color:#91a5b7; font-size:4rem; }
.exchange-gallery-strip { display:flex; gap:.55rem; overflow:auto; padding:.65rem; border-top:1px solid #dce5ef; background:#fff; }
.exchange-gallery-thumb { flex:0 0 4.25rem; width:4.25rem; height:3.25rem; overflow:hidden; border:1px solid #d4e0e9; border-radius:.45rem; background:#edf3f8; }
.exchange-gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.exchange-detail-body { padding:1.25rem 1.35rem 1.35rem; }
.exchange-detail-body h2 { margin:0; color:var(--ex-ink); font-size:1.08rem; }
.exchange-description { margin:.7rem 0 0; color:#425973; font-size:.96rem; line-height:1.68; white-space:pre-wrap; }
.exchange-detail-facts { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 0; }
.exchange-fact { border:1px solid #dce6ef; border-radius:.55rem; padding:.38rem .55rem; color:#506882; background:#f8fbfd; font-size:.75rem; font-weight:750; }
.exchange-side { position:sticky; top:1rem; display:grid; gap:1rem; }
.exchange-price-card { padding:1.2rem; border:1px solid #b7e1e5; border-radius:1rem; background:linear-gradient(140deg,#fff,#f1fcfb); }
.exchange-price-label { margin:0; color:#597088; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.exchange-price { margin:.3rem 0 0; color:#075e73; font-size:clamp(2rem,4vw,2.8rem); font-weight:900; letter-spacing:-.05em; }
.exchange-price-note { margin:.4rem 0 0; color:#587289; font-size:.8rem; }
.exchange-primary-action { display:flex; width:100%; align-items:center; justify-content:center; min-height:2.7rem; margin-top:1rem; border:0; border-radius:.7rem; color:#fff; background:var(--ex-brand); font:inherit; font-size:.88rem; font-weight:850; text-decoration:none; cursor:pointer; }
.exchange-primary-action:hover { color:#fff; background:#08758d; }
.exchange-side-actions { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:.55rem; }
.exchange-side-action { display:flex; min-height:2.45rem; align-items:center; justify-content:center; border:1px solid #cfdee8; border-radius:.65rem; color:#4b647d; background:#fff; font:inherit; font-size:.78rem; font-weight:800; text-decoration:none; cursor:pointer; }
.exchange-side-action:hover { border-color:#8ac9d2; color:#075e73; background:#f0fbfa; }
.exchange-side-action.is-watching { border-color:#b7e7e1; color:#075e73; background:#e8fbf8; }
.exchange-side-card { padding:1.1rem; border:1px solid var(--ex-line); border-radius:1rem; background:#fff; }
.exchange-side-card h2 { margin:0; color:var(--ex-ink); font-size:1rem; }
.exchange-seller-name { display:block; margin-top:.65rem; color:#163450; font-size:1rem; font-weight:850; text-decoration:none; }
.exchange-seller-name:hover { color:#08758d; }
.exchange-seller-copy { margin:.3rem 0 0; color:#6b8098; font-size:.79rem; line-height:1.5; }
.exchange-seller-stats { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.85rem; }
.exchange-seller-stat { padding:.6rem; border-radius:.6rem; background:#f3f8fb; }
.exchange-seller-stat strong { display:block; color:#173551; font-size:1rem; }
.exchange-seller-stat span { display:block; margin-top:.15rem; color:#70859c; font-size:.68rem; }
.exchange-contact-link { display:flex; align-items:center; justify-content:center; min-height:2.45rem; margin-top:.9rem; border-radius:.65rem; color:#075e73; background:#e8fbf8; font-size:.82rem; font-weight:850; text-decoration:none; }
.exchange-contact-link:hover { color:#fff; background:#08758d; }
.exchange-history { padding:1.2rem 1.35rem 1.35rem; border-top:1px solid #e1e9f0; }
.exchange-history-list { display:grid; gap:.55rem; margin:.9rem 0 0; }
.exchange-history-row { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.65rem .7rem; border-radius:.6rem; background:#f6f9fb; color:#516a83; font-size:.8rem; }
.exchange-history-price { color:#075e73; font-weight:850; }
.exchange-safety { margin-top:1rem; }
.exchange-safety details { border-top:1px solid #e1e9f0; }
.exchange-safety details:last-child { border-bottom:1px solid #e1e9f0; }
.exchange-safety summary { padding:.8rem 0; color:#284863; font-size:.84rem; font-weight:850; cursor:pointer; }
.exchange-safety p { margin:0 0 .85rem; color:#647a92; font-size:.8rem; line-height:1.55; }
.exchange-related { margin-top:2rem; }
.exchange-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.exchange-related-card { display:block; overflow:hidden; border:1px solid var(--ex-line); border-radius:.8rem; color:var(--ex-ink); background:#fff; text-decoration:none; }
.exchange-related-card:hover { border-color:#75bdc9; color:var(--ex-ink); }
.exchange-related-media { display:flex; height:7.7rem; align-items:center; justify-content:center; overflow:hidden; color:#93a8ba; background:#edf3f8; font-size:2rem; }
.exchange-related-media img { width:100%; height:100%; object-fit:cover; }
.exchange-related-copy { padding:.75rem; }
.exchange-related-copy strong { display:block; overflow:hidden; font-size:.85rem; line-height:1.32; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.exchange-related-copy span { display:block; margin-top:.35rem; color:#08758d; font-size:.78rem; font-weight:850; }
@media (max-width:900px) { .exchange-detail-grid { grid-template-columns:1fr; } .exchange-side { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .exchange-price-card { grid-row:span 2; } .exchange-related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:620px) { .exchange-detail-main { padding-top:1.15rem; } .exchange-item-head,.exchange-detail-body,.exchange-history { padding-left:1rem; padding-right:1rem; } .exchange-gallery { margin-left:1rem; margin-right:1rem; } .exchange-gallery-main { min-height:15rem; } .exchange-side { grid-template-columns:1fr; } .exchange-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }


/* Classifieds landing refresh — compact category lists and a persistent discovery sidebar. */
.classifieds-shell {
  background: #f4f7fb;
  border-top: 1px solid #e3eaf3;
  color: #14213b;
  padding: 34px 0 50px;
}
.classifieds-wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.classifieds-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
}
.classifieds-eyebrow,
.classifieds-section-heading p,
.classifieds-sidebar-heading p {
  color: #087b9b;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 5px;
  text-transform: uppercase;
}
.classifieds-heading h1 {
  color: #10213d;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  margin: 0;
}
.classifieds-heading > div > p:last-child {
  color: #627694;
  font-size: 1rem;
  margin: 9px 0 0;
  max-width: 650px;
}
.classifieds-post-button {
  align-items: center;
  background: #0795b8;
  border-radius: 11px;
  box-shadow: 0 8px 18px rgba(7, 149, 184, .16);
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .94rem;
  font-weight: 800;
  gap: 7px;
  justify-content: center;
  min-height: 45px;
  padding: 0 18px;
  text-decoration: none;
}
.classifieds-post-button:hover,
.classifieds-post-button:focus { background: #057f9f; color: #fff; }
.classifieds-search {
  align-items: stretch;
  display: flex;
  gap: 0;
  margin: 0 0 14px;
  max-width: 760px;
}
.classifieds-search input {
  background: #fff;
  border: 1px solid #cbd8e7;
  border-radius: 10px 0 0 10px;
  color: #13233e;
  font-size: 1rem;
  min-width: 0;
  outline: 0;
  padding: 13px 15px;
  width: 100%;
}
.classifieds-search input:focus { border-color: #0999bd; box-shadow: 0 0 0 3px rgba(9, 153, 189, .15); }
.classifieds-search button,
.classifieds-sort-form button {
  background: #10213d;
  border: 1px solid #10213d;
  color: #fff;
  cursor: pointer;
  font-size: .86rem;
  font-weight: 800;
  padding: 0 18px;
}
.classifieds-search button { border-radius: 0 10px 10px 0; }
.classifieds-search button:hover,
.classifieds-sort-form button:hover { background: #087b9b; border-color: #087b9b; }
.classifieds-category-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 15px;
}
.classifieds-category-link {
  align-items: center;
  background: #fff;
  border: 1px solid #d8e2ee;
  border-radius: 999px;
  color: #40536e;
  display: inline-flex;
  font-size: .84rem;
  font-weight: 700;
  gap: 5px;
  min-height: 35px;
  padding: 0 12px;
  text-decoration: none;
}
.classifieds-category-link:hover,
.classifieds-category-link:focus { border-color: #69bed1; color: #087b9b; }
.classifieds-category-link.is-active {
  background: #087b9b;
  border-color: #087b9b;
  color: #fff;
}
.classifieds-toolbar {
  align-items: center;
  border-bottom: 1px solid #dce6f0;
  border-top: 1px solid #dce6f0;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 0 0 24px;
  padding: 11px 0;
}
.classifieds-toolbar p { color: #667a95; font-size: .86rem; margin: 0; }
.classifieds-toolbar p strong { color: #10213d; }
.classifieds-toolbar p span { color: #8193aa; }
.classifieds-sort-form { align-items: center; display: flex; gap: 8px; }
.classifieds-sort-form label { color: #5d708a; font-size: .81rem; font-weight: 700; }
.classifieds-sort-form select {
  background: #fff;
  border: 1px solid #cbd8e7;
  border-radius: 7px;
  color: #263a56;
  font-size: .81rem;
  min-height: 33px;
  padding: 0 27px 0 9px;
}
.classifieds-sort-form button { border-radius: 7px; min-height: 33px; padding: 0 10px; }
.classifieds-layout {
  align-items: start;
  display: grid;
  gap: 25px;
  grid-template-columns: minmax(0, 1fr) 294px;
}
.classifieds-content { min-width: 0; }
.classifieds-section,
.classifieds-sidebar-card,
.classifieds-promo {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 13px;
  box-shadow: 0 1px 1px rgba(14, 38, 68, .02);
}
.classifieds-section { margin: 0 0 18px; overflow: hidden; }
.classifieds-section-heading {
  align-items: flex-start;
  border-bottom: 1px solid #e5edf4;
  display: flex;
  gap: 15px;
  justify-content: space-between;
  padding: 18px 20px 15px;
}
.classifieds-section-heading h2,
.classifieds-sidebar-heading h2 {
  color: #13233e;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.15;
  margin: 0;
}
.classifieds-section-heading > div > span { color: #71839b; display: block; font-size: .84rem; margin-top: 5px; }
.classifieds-section-heading > a,
.classifieds-sidebar-heading > a {
  color: #0784a5;
  flex: 0 0 auto;
  font-size: .79rem;
  font-weight: 800;
  margin-top: 9px;
  text-decoration: none;
}
.classifieds-section-heading > a:hover,
.classifieds-sidebar-heading > a:hover { color: #055d78; text-decoration: underline; }
.classifieds-list { display: block; }
.classifieds-listing-row {
  align-items: center;
  border-bottom: 1px solid #e7eef5;
  display: grid;
  gap: 13px;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  min-height: 91px;
  padding: 10px 20px;
}
.classifieds-listing-row:last-child { border-bottom: 0; }
.classifieds-listing-row[hidden] { display: none; }
.classifieds-listing-image {
  align-items: center;
  align-self: stretch;
  background: #eaf0f6;
  border-radius: 8px;
  color: #8799ac;
  display: flex;
  font-size: 1.35rem;
  justify-content: center;
  min-height: 68px;
  overflow: hidden;
}
.classifieds-listing-image img { height: 100%; object-fit: cover; width: 100%; }
.classifieds-listing-copy { min-width: 0; }
.classifieds-listing-copy p {
  color: #16839f;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin: 0 0 3px;
  text-transform: uppercase;
}
.classifieds-listing-copy > a {
  color: #162844;
  display: block;
  font-size: .96rem;
  font-weight: 800;
  overflow: hidden;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.classifieds-listing-copy > a:hover { color: #087b9b; }
.classifieds-listing-copy > span,
.classifieds-listing-copy > small {
  color: #70819a;
  display: block;
  font-size: .76rem;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.classifieds-listing-price { color: #087b9b; font-size: .91rem; white-space: nowrap; }
.classifieds-load-more {
  background: #f1f8fb;
  border: 0;
  border-top: 1px solid #dbeaf1;
  color: #087b9b;
  cursor: pointer;
  display: block;
  font-size: .82rem;
  font-weight: 800;
  padding: 12px 20px;
  text-align: center;
  width: 100%;
}
.classifieds-load-more:hover { background: #e4f5f9; color: #055d78; }
.classifieds-sidebar { display: grid; gap: 16px; }
.classifieds-sidebar-card { padding: 16px; }
.classifieds-sidebar-heading {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin: 0 0 12px;
}
.classifieds-sidebar-heading > a { margin-top: 4px; }
.classifieds-featured-list { display: grid; gap: 8px; }
.classifieds-featured-item {
  align-items: center;
  background: #f9fbfd;
  border: 1px solid #e0e9f1;
  border-radius: 9px;
  color: #253952;
  display: grid;
  gap: 8px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  min-height: 56px;
  padding: 5px;
  text-decoration: none;
}
.classifieds-featured-item:hover { background: #f1f9fb; border-color: #7bc9da; }
.classifieds-featured-image {
  align-items: center;
  background: #dfe9f2;
  border-radius: 6px;
  color: #7e90a5;
  display: flex;
  font-size: 1rem;
  height: 44px;
  justify-content: center;
  overflow: hidden;
  width: 44px;
}
.classifieds-featured-image img { height: 100%; object-fit: cover; width: 100%; }
.classifieds-featured-title {
  font-size: .79rem;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.classifieds-featured-item strong { color: #087b9b; font-size: .76rem; white-space: nowrap; }
.classifieds-sidebar-empty { color: #7587a0; font-size: .82rem; line-height: 1.45; margin: 8px 0 2px; }
.classifieds-promo { padding: 15px; }
.classifieds-ad-label { color: #94a4b8; font-size: .63rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 8px; text-align: center; text-transform: uppercase; }
.classifieds-promo-fallback { overflow: hidden; }
.classifieds-promo-slide[hidden] { display: none; }
.classifieds-promo-slide {
  background: linear-gradient(135deg, #ecfbfe, #f9fcff);
  border: 1px solid #cfeef4;
  border-radius: 9px;
  color: #1d3751;
  display: block;
  padding: 16px;
  text-decoration: none;
}
.classifieds-promo-slide strong { display: block; font-size: .93rem; }
.classifieds-promo-slide span { color: #587089; display: block; font-size: .78rem; line-height: 1.4; margin-top: 5px; }
.classifieds-promo-dots { display: flex; gap: 4px; justify-content: center; margin-top: 9px; }
.classifieds-promo-dots span { background: #b3c4d4; border-radius: 999px; height: 5px; width: 5px; }
.classifieds-promo-dots span.is-active { background: #087b9b; width: 14px; }
.classifieds-tabs { border-bottom: 1px solid #dfe8f0; display: flex; gap: 0; margin: 0 -16px 12px; overflow-x: auto; padding: 0 12px; }
.classifieds-tab {
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #71839b;
  cursor: pointer;
  font-size: .72rem;
  font-weight: 800;
  padding: 8px 7px;
  white-space: nowrap;
}
.classifieds-tab[aria-selected="true"] { border-bottom-color: #0795b8; color: #087b9b; }
.classifieds-activity-list { display: grid; gap: 2px; }
.classifieds-activity-list a {
  align-items: center;
  border-bottom: 1px solid #edf2f6;
  color: #354a64;
  display: flex;
  font-size: .78rem;
  gap: 8px;
  justify-content: space-between;
  padding: 8px 0;
  text-decoration: none;
}
.classifieds-activity-list a:last-child { border-bottom: 0; }
.classifieds-activity-list a:hover span { color: #087b9b; }
.classifieds-activity-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.classifieds-activity-list strong { color: #087b9b; font-size: .73rem; white-space: nowrap; }
.classifieds-result-row { grid-template-columns: 98px minmax(0, 1fr) auto; min-height: 105px; }
.classifieds-result-row .classifieds-listing-image { min-height: 82px; }
.classifieds-result-actions { align-items: flex-end; display: grid; gap: 8px; justify-items: end; }
.classifieds-result-actions form { margin: 0; }
.classifieds-result-actions form button,
.classifieds-result-actions > a {
  background: #fff;
  border: 1px solid #cbd8e7;
  border-radius: 6px;
  color: #38516d;
  cursor: pointer;
  font-size: .73rem;
  font-weight: 800;
  padding: 5px 8px;
  text-decoration: none;
}
.classifieds-result-actions form button:hover,
.classifieds-result-actions > a:hover { border-color: #64bbcf; color: #087b9b; }
.classifieds-pagination { align-items: center; display: flex; gap: 14px; justify-content: center; padding: 18px; }
.classifieds-pagination a {
  background: #fff;
  border: 1px solid #cbd8e7;
  border-radius: 7px;
  color: #2f4762;
  font-size: .8rem;
  font-weight: 800;
  padding: 7px 11px;
  text-decoration: none;
}
.classifieds-pagination span { color: #71839b; font-size: .78rem; }
.classifieds-empty { padding: 42px 24px; text-align: center; }
.classifieds-empty > span { display: block; font-size: 2rem; margin-bottom: 8px; }
.classifieds-empty h2,
.classifieds-empty h3 { color: #1b2c47; font-size: 1.1rem; margin: 0; }
.classifieds-empty p { color: #6b7d95; margin: 8px auto 16px; max-width: 420px; }
.classifieds-empty a {
  background: #0795b8;
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  font-size: .83rem;
  font-weight: 800;
  padding: 9px 13px;
  text-decoration: none;
}
.classifieds-empty a:hover { background: #057f9f; }
@media (max-width: 900px) {
  .classifieds-layout { grid-template-columns: minmax(0, 1fr); }
  .classifieds-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .classifieds-promo { grid-column: span 2; }
}
@media (max-width: 640px) {
  .classifieds-shell { padding-top: 24px; }
  .classifieds-wrap { width: min(100% - 24px, 1180px); }
  .classifieds-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .classifieds-post-button { width: 100%; }
  .classifieds-search input { font-size: .9rem; }
  .classifieds-search button { font-size: .8rem; padding: 0 12px; }
  .classifieds-toolbar { align-items: flex-start; flex-direction: column; }
  .classifieds-sort-form { width: 100%; }
  .classifieds-sort-form select { flex: 1; }
  .classifieds-section-heading { padding: 15px; }
  .classifieds-listing-row { gap: 10px; grid-template-columns: 58px minmax(0, 1fr) auto; padding: 9px 13px; }
  .classifieds-listing-image { min-height: 56px; }
  .classifieds-listing-copy > a { font-size: .87rem; }
  .classifieds-listing-copy > span { display: none; }
  .classifieds-listing-price { font-size: .8rem; }
  .classifieds-result-row { grid-template-columns: 58px minmax(0, 1fr); }
  .classifieds-result-row .classifieds-listing-image { min-height: 58px; }
  .classifieds-result-actions { align-items: center; grid-column: 1 / -1; grid-row: auto; justify-items: start; margin-left: 68px; }
  .classifieds-result-actions { display: flex; }
  .classifieds-sidebar { grid-template-columns: 1fr; }
  .classifieds-promo { grid-column: auto; }
}
