/* Zbiory – czat */
.zc { --zc-color: #1c1c1c; position: fixed; bottom: 20px; z-index: 99990; font-family: inherit; font-size: 15px; line-height: 1.4; }
.zc-right { right: 20px; }
.zc-left { left: 20px; }
.zc *, .zc *::before, .zc *::after { box-sizing: border-box; }

.zc-launcher { position: relative; width: 58px; height: 58px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: var(--zc-color); color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.25); display: flex; align-items: center; justify-content: center; transition: transform .15s ease; }
.zc-launcher:hover { transform: scale(1.06); }
.zc-left .zc-launcher { margin-right: auto; }
.zc-right .zc-launcher { margin-left: auto; }
.zc-badge { position: absolute; top: -3px; right: -3px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #d63638; color: #fff; font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; border: 2px solid #fff; }
.zc-badge[hidden] { display: none; }

.zc-panel { position: absolute; bottom: 72px; width: 360px; max-width: calc(100vw - 24px); height: 540px; max-height: calc(100vh - 110px); background: #fff; color: #1d1d1d; border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.25); display: flex; flex-direction: column; overflow: hidden; }
.zc-panel[hidden] { display: none; }
.zc-right .zc-panel { right: 0; }
.zc-left .zc-panel { left: 0; }

.zc-head { background: var(--zc-color); color: #fff; padding: 14px 12px 14px 16px; display: flex; align-items: flex-start; gap: 8px; }
.zc-head-text { flex: 1; min-width: 0; }
.zc-title { font-weight: 700; font-size: 17px; }
.zc-sub { font-size: 12.5px; opacity: .85; margin-top: 2px; }
.zc-close { background: transparent; border: 0; color: inherit; font-size: 28px; line-height: 1; cursor: pointer; padding: 0 6px; opacity: .85; }
.zc-close:hover { opacity: 1; }

.zc-list { flex: 1; overflow-y: auto; padding: 14px 12px; background: #f6f5f3; overscroll-behavior: contain; }
.zc-row { display: flex; margin: 0 0 8px; }
.zc-row.is-mine { justify-content: flex-end; }
.zc-bubble { max-width: 82%; padding: 8px 12px; border-radius: 14px; background: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.06); word-wrap: break-word; overflow-wrap: anywhere; white-space: pre-wrap; }
.zc-row.is-mine .zc-bubble { background: var(--zc-color); color: #fff; border-bottom-right-radius: 4px; }
.zc-row.is-them .zc-bubble { border-bottom-left-radius: 4px; }
.zc-bubble a { color: inherit; text-decoration: underline; }
.zc-bubble img { display: block; max-width: 100%; max-height: 260px; border-radius: 10px; margin: 2px 0 4px; }
.zc-meta { font-size: 11px; opacity: .6; margin-top: 3px; white-space: normal; }

.zc-email { padding: 10px 12px; border-top: 1px solid #eee; background: #fffbea; }
.zc-email[hidden] { display: none; }
.zc-email-text { margin: 0 0 8px; font-size: 13px; }
.zc-email-row { display: flex; gap: 6px; }
.zc-email-row input { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid #ccc; border-radius: 8px; font: inherit; }
.zc-email-row button { border: 0; border-radius: 8px; padding: 8px 12px; background: var(--zc-color); color: #fff; cursor: pointer; font: inherit; }
.zc-email-skip { margin-top: 6px; border: 0; background: none; padding: 0; color: #666; font-size: 12px; cursor: pointer; text-decoration: underline; }

.zc-note { padding: 6px 12px; font-size: 13px; background: #fcf0e3; color: #8a4b08; }
.zc-note[hidden] { display: none; }

.zc-form { display: flex; align-items: flex-end; gap: 6px; padding: 8px; border-top: 1px solid #eee; background: #fff; }
.zc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.zc-input { flex: 1; min-width: 0; resize: none; border: 1px solid #ddd; border-radius: 18px; padding: 9px 14px; font: inherit; line-height: 1.35; max-height: 120px; background: #fff; color: inherit; outline: none; }
.zc-input:focus { border-color: var(--zc-color); }
.zc-photo, .zc-send { flex: none; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; border: 0; padding: 0; }
.zc-photo { color: #666; background: transparent; }
.zc-photo:hover { background: #f0f0f0; }
.zc-send { background: var(--zc-color); color: #fff; }

@media (max-width: 600px) {
	.zc { bottom: 14px; }
	.zc-right { right: 14px; }
	.zc-left { left: 14px; }
	.zc.is-open { inset: 0; }
	.zc.is-open .zc-launcher { display: none; }
	.zc.is-open .zc-panel { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; border-radius: 0; bottom: 0; }
	.zc-input { font-size: 16px; } /* bez powiększania na iPhonie */
}
