/* The wrapper is layout-neutral outside the desktop breakpoint. */
#gkPublicModal .gk-public-info-scroll { display: contents; }

@media (min-width: 901px) {
  /* Keep the original paper card, pin and button in a smaller footprint. */
  .gk-public-board {
    grid-template-columns: repeat(auto-fill, minmax(190px, 220px));
    justify-content: start;
    align-items: start;
    gap: 26px 22px;
    padding: 28px;
    min-height: 0;
  }
  .gk-public-board .gk-public-card {
    width: 100%;
    padding: 23px 12px 12px;
    min-width: 0;
  }
  .gk-public-board .gk-public-pin { width: 18px; height: 18px; top: -9px; }
  .gk-public-board .gk-public-image { aspect-ratio: 16 / 10; }
  .gk-public-board .gk-public-info { padding-top: 9px; }
  .gk-public-board .gk-public-info h3 {
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .gk-public-board .gk-public-description {
    font-size: 11px;
    line-height: 1.8;
    margin: 4px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
  }
  .gk-public-board .gk-public-price {
    font-size: 11px;
    margin: 7px 0 8px;
    overflow-wrap: anywhere;
  }
  .gk-public-board .gk-public-meta { padding: 8px 0; font-size: 10px; gap: 7px; }
  .gk-public-board .gk-public-meta > span { min-width: 0; overflow-wrap: anywhere; }
  .gk-public-board .gk-public-view { height: 35px; font-size: 11px; border-radius: 9px; }

  /* SVGs introduced for the mobile featured dialog also need desktop sizing. */
  #gkVipInfoModal .gk-vip-info-description h4 { display: flex; align-items: center; gap: 6px; }
  #gkVipInfoModal .gk-vip-info-spec-icon svg,
  #gkVipInfoModal .gk-vip-info-avatar svg,
  #gkVipInfoModal .gk-vip-info-description h4 svg,
  #gkVipInfoModal .gk-vip-info-main-image > span svg {
    display: inline-block;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  #gkVipInfoModal .gk-vip-info-spec-icon { display: grid; place-items: center; width: 21px; height: 21px; color: var(--gk-gold-light); }
  #gkVipInfoModal .gk-vip-info-specs > div[hidden] { display: none; }
  #gkVipInfoModal .gk-vip-info-avatar svg { width: 24px; height: 24px; }
  #featuredAds .gk-mobile-featured-badge svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; vertical-align: middle; }
  #gkVipInfoModal .gk-vip-info-main-image > span { display: inline-flex; align-items: center; gap: 5px; }
  #gkVipInfoModal .gk-vip-info-main-image > span svg { width: 16px; height: 16px; flex-basis: 16px; }

  /* The public ad photo cannot grow the window beyond the viewport. */
  #gkPublicModal { padding: 20px; }
  #gkPublicModal .gk-public-modal-content {
    box-sizing: border-box;
    width: min(880px, 100%);
    height: min(520px, calc(100vh - 40px));
    height: min(520px, calc(100dvh - 40px));
    max-height: calc(100dvh - 40px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
  }
  #gkPublicModal .gk-public-modal-image { min-width: 0; min-height: 0; height: 100%; }
  #gkPublicModal .gk-public-modal-image img {
    width: 100%; height: 100%; min-height: 0; max-height: 100%;
    object-fit: cover; object-position: center; image-orientation: from-image;
  }
  #gkPublicModal .gk-public-modal-info {
    box-sizing: border-box;
    height: 100%; min-height: 0; min-width: 0;
    padding: 52px 22px 18px;
    display: flex; flex-direction: column; align-items: stretch;
    gap: 12px; overflow: hidden;
  }
  #gkPublicModal .gk-public-info-scroll {
    display: flex; flex-direction: column; align-items: flex-start;
    flex: 1 1 0; min-height: 0; min-width: 0;
    overflow-y: auto; overflow-x: hidden;
    overscroll-behavior: contain; scrollbar-width: thin;
    scrollbar-color: #d7ae58 #111827;
    scrollbar-gutter: stable; padding-inline-end: 7px;
    overflow-wrap: anywhere;
  }
  #gkPublicModal .gk-public-info-scroll > * { flex-shrink: 0; max-width: 100%; }
  #gkPublicModal .gk-public-modal-info h2 { font-size: 21px; line-height: 1.6; margin: 12px 0 6px; }
  #gkPublicModal .gk-public-modal-price { font-size: 17px; margin-bottom: 12px; }
  #gkPublicModal .gk-public-specs { margin: 3px 0 12px; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #gkPublicModal .gk-public-spec { min-width: 0; padding: 9px; gap: 6px; }
  #gkPublicModal .gk-public-spec > * { min-width: 0; overflow-wrap: anywhere; }
  #gkPublicModal .gk-public-detail-description { margin-bottom: 12px; }
  #gkPublicModal .gk-public-modal-meta { box-sizing: border-box; padding: 10px 0; gap: 10px; }
  #gkPublicModal .gk-public-modal-meta > span { min-width: 0; overflow-wrap: anywhere; }
  #gkPublicModal .gk-public-contact-btn { flex: 0 0 42px; height: 42px; min-height: 42px; margin: 0; }
}
