/* Gosscard — příspěvky (text + fotky) k setkáním a zastávkám tras.
   Používá se v detailu setkání a v detailu zastávky (bottom sheet .gc-mtg-sheet). */

.gc-posts { margin-top: 14px; border-top: 1px solid #eef1f4; padding-top: 12px; }
.gc-posts-title { font-size: 13px; font-weight: 700; color: #2d3748; margin-bottom: 10px; }
.gc-posts-loading, .gc-posts-empty { color: #a0aec0; font-size: 13px; padding: 8px 0; }

/* --- Composer --- */
.gc-posts-composer { position: relative; background: #f6f8fa; border: 1px solid #e6eaee; border-radius: 12px; padding: 8px; margin-bottom: 14px; }
.gc-posts-input {
    width: 100%; border: 0; background: transparent; resize: vertical; min-height: 40px; max-height: 160px;
    font: inherit; font-size: 14px; color: #222; outline: none; padding: 4px 6px; box-sizing: border-box;
}
.gc-posts-composer-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
/* Tlačítko „Přidat fotku" — ikona + viditelný popisek (stejný vzor jako u komentářů
   bodu a v City Hubu). Dřív to byl čtverec 38×38 jen s ikonou a nativní input se
   schovával atributem `hidden`; jenže bootstrap.css má `input[type="file"]{display:block}`,
   což je specifičtější než `[hidden]{display:none}` → input se vykreslil jako 355px
   široká položka flexu, vytlačil ikonu mimo tlačítko a zbyl prázdný rámeček.
   Input proto schováváme klipem, ne atributem. */
.gc-posts-addphoto {
    display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; margin: 0;
    padding: 9px 12px; border-radius: 10px;
    background: #fff; border: 1px solid #dbe2e8; color: #007bff; cursor: pointer;
    font-size: 13px; font-weight: 600; line-height: 1.2; white-space: nowrap;
    transition: background .15s;
}
.gc-posts-addphoto i { font-size: 16px; }
.gc-posts-addphoto:hover { background: #eef4ff; }
.gc-posts-addphoto input[type="file"] {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.gc-posts-submit {
    /* Bílý popisek: pozadí musí být -strong (5,22:1), na #007bff vycházelo 3,98:1. */
    border: 0; background: var(--gc-primary-strong, #0069d9); color: #fff; font: inherit; font-weight: 700; font-size: 14px;
    padding: 9px 18px; border-radius: 10px; cursor: pointer; transition: opacity .15s;
}
.gc-posts-submit:disabled { opacity: .45; cursor: default; }

/* --- Náhledy vybraných fotek --- */
.gc-posts-previews { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.gc-posts-previews:empty { display: none; }
.gc-posts-preview { position: relative; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: #e6eaee; flex: 0 0 auto; }
.gc-posts-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gc-posts-preview.is-loading { display: flex; align-items: center; justify-content: center; }
.gc-posts-preview-spin { width: 20px; height: 20px; border: 3px solid #cfd8e0; border-top-color: #007bff; border-radius: 50%; animation: gcPostsSpin .7s linear infinite; }
@keyframes gcPostsSpin { to { transform: rotate(360deg); } }
.gc-posts-preview-rm {
    position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border: 0; border-radius: 50%;
    background: rgba(0,0,0,.6); color: #fff; font-size: 15px; line-height: 1; cursor: pointer; padding: 0;
}

.gc-posts-locked { background: #f6f8fa; border: 1px dashed #d3dbe2; border-radius: 10px; padding: 12px; text-align: center; color: #6b7683; font-size: 13px; margin-bottom: 14px; }

/* --- Seznam příspěvků --- */
.gc-posts-list { display: flex; flex-direction: column; gap: 12px; }
.gc-post { display: flex; gap: 10px; }
.gc-post-av { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; background: #e6eaee; }
.gc-post-main { min-width: 0; flex: 1 1 auto; }
.gc-post-head { display: flex; align-items: baseline; gap: 8px; }
.gc-post-author { font-size: 13px; font-weight: 700; color: #222; }
.gc-post-when { font-size: 11.5px; color: #a0aec0; }
.gc-post-del { margin-left: auto; border: 0; background: transparent; color: #b6bcc4; cursor: pointer; font-size: 12.5px; padding: 2px 4px; border-radius: 6px; }
.gc-post-del:hover { color: #e05353; }
.gc-post-del.is-armed { color: #e05353; font-weight: 700; }
.gc-post-text { font-size: 13.5px; color: #333; line-height: 1.45; margin-top: 2px; word-wrap: break-word; overflow-wrap: anywhere; }
.gc-post-photos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.gc-post-photo { display: block; width: 84px; height: 84px; border-radius: 8px; overflow: hidden; background: #e6eaee; }
.gc-post-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Klikatelný název zastávky v detailu trasy → otevře detail zastávky s příspěvky. */
.gc-route-stop-open { cursor: pointer; }
.gc-route-stop-open:hover { color: #007bff; }
.gc-route-stop-open-ic { font-size: 11px; color: #007bff; margin-left: 6px; opacity: .8; }

/* Výběr viditelnosti (jen pro sledující / veřejné) ve formuláři setkání a trasy. */
.gc-mtg-vis-select {
    width: 100%; padding: 9px 10px; border: 1px solid #dbe2e8; border-radius: 8px;
    font: inherit; font-size: 14px; background: #fff; color: #222; box-sizing: border-box;
}

/* „Zobrazit na mapě": tlačítko lupy na kartě setkání/trasy v levém panelu — vycentruje mapu na bod. */
.gc-social-list-item { position: relative; }
.gc-card-locate {
    position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.85); color: #8a949e; cursor: pointer; font-size: 12px; line-height: 1;
    display: flex; align-items: center; justify-content: center; opacity: 1; padding: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,.15);
    transition: background .15s, color .15s, box-shadow .15s;
}
/* Lupa je viditelná pořád (dřív jen na hover); hover/fokus jen zvýrazní. */
.gc-social-list-item:hover .gc-card-locate, .gc-card-locate:hover, .gc-card-locate:focus { background: #fff; color: #007bff; }
/* Lupa je `position: absolute` nad kartou, ale název běží v toku přes celou šířku:
   u delšího názvu se výpustka („…") vykreslila POD lupou a text zmizel za kolečkem
   (naměřeno 2026-08-19 na kartě „QA1908 verejne setkani pro hosta" v panelu Setkání).
   Odsazení = šířka tlačítka (26) + odstup vpravo (6) + mezera (2). */
.gc-social-list-item .gc-social-list-title { padding-right: 34px; }

/* Správa skrytých položek (bottom sheet reuse .gc-mtg-sheet). */
.gc-hidden-list { margin: 6px 0 4px; max-height: 52vh; overflow-y: auto; }
.gc-hidden-group-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #6b7683; margin: 12px 0 6px; }
.gc-hidden-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #eef1f4; }
.gc-hidden-row__title { flex: 1 1 auto; min-width: 0; font-size: 14px; color: #222; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-hidden-empty { color: #a0aec0; font-size: 14px; padding: 16px 0; text-align: center; }
