.yl-location-card.yl-snapshot-card {
  box-sizing: border-box; display: flex; flex-direction: column;
  width: min(100%, 340px); max-width: 100%; padding: 0; gap: 0;
  overflow: hidden; border: 1px solid var(--yl-border); border-radius: 16px;
  background: var(--yl-bg); color: var(--yl-fg); text-align: start;
}
.yl-snapshot-card *, .yl-snapshot-offer * { box-sizing: border-box; }
.yl-snapshot-card .yl-snapshot-map {
  display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 2;
  padding: 0; border: 0; border-radius: 0; overflow: hidden; cursor: pointer;
  background: var(--yl-soft); color: var(--yl-fg); min-height: 0;
}
.yl-snapshot-map .yl-snapshot-image { display: block; width: 100%; height: auto; object-fit: contain; }
.yl-snapshot-map .yl-snapshot-image[hidden], .yl-snapshot-placeholder[hidden] { display: none; }
.yl-snapshot-placeholder { padding: 20px; white-space: pre-line; font-size: 13px; }
.yl-snapshot-body { padding: 12px 14px 6px; }
.yl-snapshot-title { display: block; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.yl-snapshot-address { font-size: 13px; line-height: 1.5; margin: 6px 0; overflow-wrap: anywhere; }
.yl-snapshot-note { margin: 6px 0; font-size: 12px; line-height: 1.5; white-space: pre-line; color: var(--yl-muted); }
.yl-snapshot-card > .yl-snapshot-note { padding: 0 14px; }
.yl-snapshot-details { padding: 4px 14px; border: 0; background: transparent; }
.yl-snapshot-details summary { cursor: pointer; font-size: 13px; white-space: pre-line; }
.yl-snapshot-detail-body { display: grid; gap: 6px; padding: 8px 0; overflow-wrap: anywhere; }
.yl-snapshot-coordinates { margin: 0; font-variant-numeric: tabular-nums; font-size: 13px; }
.yl-snapshot-time, .yl-snapshot-accuracy { color: var(--yl-muted); font-size: 11px; }
.yl-snapshot-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.yl-snapshot-card > .yl-snapshot-actions { padding: 6px 14px; }
.yl-snapshot-actions .yl-snapshot-action {
  min-height: 36px; padding: 7px 10px; border: 1px solid var(--yl-border);
  border-radius: 10px; background: var(--yl-soft); color: var(--yl-fg);
  font: inherit; font-size: 12px; line-height: 1.4; cursor: pointer; white-space: pre-line;
}
.yl-snapshot-action:disabled { cursor: wait; opacity: .65; }
.yl-snapshot-action:focus-visible, .yl-snapshot-map:focus-visible, .yl-snapshot-details summary:focus-visible {
  outline: 2px solid var(--yl-accent); outline-offset: -3px;
}
.yl-snapshot-credit { display: block; padding: 7px 14px 10px; color: var(--yl-muted); font-size: 10px; }
.yl-snapshot-offer { padding: 8px 0; color: var(--yl-fg); }
@media (max-width: 420px) { .yl-location-card.yl-snapshot-card { width: min(100%, 292px); } }

