.ncslots-finder .nc-destination,
.ncslots-finder .nc-destination * { box-sizing: border-box; }

.nc-destination {
  container: destination / inline-size;
  overflow: hidden;
  border: 1px solid var(--nc-border);
  border-radius: var(--nc-radius);
  background: var(--nc-white);
  box-shadow: var(--nc-shadow);
  color: var(--nc-ink);
  font-family: var(--nc-body);
}

.ncslots-finder .nc-destination { display: block; gap: 0; padding: 0; }

.nc-destination__layout { display: grid; grid-template-columns: minmax(260px, 38%) 1fr; }
.nc-destination__media { position: relative; min-height: 292px; overflow: hidden; background: var(--nc-navy); }
.nc-destination__image { width: 100%; height: 100%; object-fit: cover; }
.nc-destination__media::after { position: absolute; z-index: 0; inset: 0; background: linear-gradient(0deg, rgba(8,26,44,.62), transparent 52%); content: ""; }
.nc-destination__distance { position: absolute; z-index: 1; right: 14px; bottom: 14px; border-radius: 999px; padding: 8px 11px; background: rgba(8,26,44,.92); color: white; font-size: 12px; font-weight: 800; }
.nc-destination__drive-time { position: absolute; z-index: 1; bottom: 12px; left: 12px; min-height: 44px; display: inline-flex; align-items: center; color: white; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.nc-destination__body { min-width: 0; padding: 22px; }
.nc-destination__topline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nc-destination__type, .nc-destination__region {
  display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; padding: 5px 10px;
  font-size: 11px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase;
}
.nc-destination__type { border: 1px solid var(--nc-teal-dark); background: #edf9f7; color: var(--nc-teal-dark); }
.nc-destination__region { border: 1px solid #b9c6d5; background: var(--nc-off-white); color: var(--nc-navy); }
.nc-destination__region--nearby { border-color: #d2b45f; background: #fff9e9; color: #674800; }
.nc-destination__name { margin: 13px 0 4px; color: var(--nc-navy); font-family: var(--nc-headline); font-size: 38px; line-height: .96; }
.nc-destination__location { margin: 0; color: var(--nc-muted); font-size: 13px; }
.nc-destination__facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin: 18px 0 0; }
.nc-destination__fact { min-width: 0; border: 1px solid #e2e7ee; border-radius: 8px; padding: 10px; background: #fbfcfe; }
.nc-destination__fact-label { display: block; color: var(--nc-muted); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.nc-destination__fact-value { display: block; overflow: hidden; margin-top: 4px; color: var(--nc-navy); font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.nc-destination__amenities { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.nc-destination__amenity { border-radius: 5px; padding: 6px 8px; background: #edf3f8; color: #24374a; font-size: 11px; font-weight: 700; }
.nc-destination__amenity::before { margin-right: 5px; color: var(--nc-teal); content: "✓"; font-weight: 900; }
.nc-destination__foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 18px; border-top: 1px solid var(--nc-border); padding-top: 14px; }
.nc-destination__verified { display: flex; gap: 8px; align-items: center; color: #554823; font-size: 11px; }
.nc-destination__verified-mark { display: grid; width: 25px; height: 25px; place-items: center; border: 2px solid #9b720b; border-radius: 50%; background: #fff7dc; color: #715000; font-weight: 900; }
.nc-destination__actions { display: flex; gap: 8px; }
.nc-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 2px solid var(--nc-navy); border-radius: 7px; padding: 9px 13px; color: var(--nc-navy); background: white; font-size: 12px; font-weight: 800; text-decoration: none; }
.nc-button--primary { background: var(--nc-navy); color: white; }
.nc-button:focus-visible { outline: 3px solid var(--nc-blue-dark); outline-offset: 2px; }

.nc-destination--result .nc-destination__layout { grid-template-columns: 148px 1fr; }
.nc-destination--result .nc-destination__media { min-height: 208px; }
.nc-destination--result .nc-destination__body { padding: 16px; }
.nc-destination--result .nc-destination__name { margin-top: 9px; font-size: 29px; }
.nc-destination--result .nc-destination__facts { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 13px; }
.nc-destination--result .nc-destination__fact:nth-child(n+3) { display: none; }

/* Finder cards keep every known fact visible; unknown facts are omitted by the renderer. */
.ncslots-finder .nc-destination--result .nc-destination__fact:nth-child(n) { display: block; }
.nc-destination--result .nc-destination__amenities { margin-top: 10px; }
.nc-destination--result .nc-destination__foot { margin-top: 12px; }

.nc-destination--selected { border: 2px solid var(--nc-blue-dark); box-shadow: 0 0 0 3px rgba(58,168,232,.18), var(--nc-shadow); }
.nc-destination--closed .nc-destination__type { border-color: #9a3030; background: #fff1f1; color: #852929; }

@container destination (max-width: 640px) {
  .nc-destination__layout, .nc-destination--result .nc-destination__layout { grid-template-columns: 1fr; }
  .nc-destination__media, .nc-destination--result .nc-destination__media { min-height: auto; aspect-ratio: 16/8.5; }
  .nc-destination__body, .nc-destination--result .nc-destination__body { padding: 16px; }
  .nc-destination__name, .nc-destination--result .nc-destination__name { font-size: 31px; }
  .nc-destination__facts, .nc-destination--result .nc-destination__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nc-destination--result .nc-destination__fact:nth-child(3) { display: block; }
  .nc-destination__foot { align-items: stretch; }
  .nc-destination__verified { flex: 1 0 100%; }
  .nc-destination__actions { width: 100%; }
  .nc-button { flex: 1; }
}

@container destination (max-width: 350px) {
  .nc-destination__facts { grid-template-columns: 1fr 1fr; }
  .nc-destination__fact-value { font-size: 12px; }
  .nc-destination__actions { display: grid; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .nc-destination { transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
  .nc-destination:hover { transform: translateY(-2px); border-color: #aab7c8; box-shadow: var(--nc-shadow-hover); }
}
