/* ==========================================================================
   Timeline · Habits · Feed · Messaging
   ========================================================================== */

/* --------------------------------------------------------------------------
   Timeline
   -------------------------------------------------------------------------- */
.timeline-container {
    display: flex;
    flex-direction: column;
    max-width: 780px;
    margin: 0 auto;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.timeline-hour {
    display: flex;
    min-height: 80px;
    position: relative;
}

.timeline-hour:last-child .time-track { border-bottom: 0; }

/* Çalışma dışı saatler hafifçe soluk */
.timeline-hour[data-offpeak="true"] .time-track { background-color: var(--bg-inset); }

.time-label {
    width: 68px;
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text-tertiary);
    text-align: right;
    padding: 0.5rem 0.875rem 0 0;
    transform: translateY(-0.55em);
}

.time-track {
    flex: 1;
    min-width: 0;
    border-top: 1px solid var(--border-color);
    position: relative;
}

/* Yarım saat çizgisi */
.time-track::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    border-top: 1px dashed var(--border-color);
    opacity: 0.5;
    pointer-events: none;
}

/* Şu an göstergesi */
.now-indicator {
    position: absolute;
    left: 0; right: 0;
    height: 0;
    border-top: 2px solid var(--danger);
    z-index: 20;
    pointer-events: none;
}

.now-indicator::before {
    content: '';
    position: absolute;
    left: -5px;
    top: -6px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--danger);
    box-shadow: 0 0 0 3px var(--bg-secondary);
}

/* --- Zaman blokları ---------------------------------------------------- */
.time-block {
    --accent: var(--block-accent, var(--brand-primary));
    position: absolute;
    left: 8px;
    right: 8px;
    z-index: 10;
    border-radius: var(--border-radius-sm);
    padding: 0.5rem 0.75rem 0.5rem 0.875rem;
    font-size: var(--text-sm);
    background-color: var(--accent);
    color: #fff;
    cursor: grab;
    box-shadow: var(--shadow-xs);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.125rem;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    border: 1px solid transparent;
}

/* Modern tarayıcılarda: renkli kenar çubuğu + yumuşak zemin (daha okunaklı) */
@supports (background: color-mix(in srgb, red 10%, white)) {
    .time-block {
        background-color: color-mix(in srgb, var(--accent) 12%, var(--bg-secondary));
        border-color: color-mix(in srgb, var(--accent) 26%, var(--bg-secondary));
        color: var(--text-primary);
    }

    .time-block::before {
        content: '';
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 3px;
        background: var(--accent);
    }

    .time-block:hover {
        background-color: color-mix(in srgb, var(--accent) 18%, var(--bg-secondary));
        border-color: color-mix(in srgb, var(--accent) 40%, var(--bg-secondary));
    }

    .block-time { color: var(--text-secondary); }

    [data-theme="dark"] .time-block {
        background-color: color-mix(in srgb, var(--accent) 20%, var(--bg-secondary));
        border-color: color-mix(in srgb, var(--accent) 34%, var(--bg-secondary));
    }
}

.time-block:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    z-index: 15;
}

.block-title {
    font-weight: 620;
    font-size: var(--text-sm);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.block-time {
    font-size: 0.6875rem;
    font-weight: 550;
    opacity: 0.92;
    letter-spacing: 0.01em;
}

.time-block.dragging {
    cursor: grabbing;
    transform: scale(1.015);
    box-shadow: var(--shadow-lg);
    z-index: 100 !important;
}

/* Sürükleme sırasında 15 dakikalık kılavuz çizgileri */
.timeline-container.is-dragging .time-track {
    background-image: repeating-linear-gradient(
        to bottom,
        transparent, transparent 19px,
        var(--border-color) 19px, var(--border-color) 20px
    );
}

/* --------------------------------------------------------------------------
   Habits
   -------------------------------------------------------------------------- */
.habits-container {
    max-width: var(--content-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
    gap: 1rem;
}

.habit-card {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 1.25rem;
    box-shadow: var(--shadow-xs);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.habit-card:hover {
    transform: translateY(-2px);
    border-color: var(--border-color-hover);
    box-shadow: var(--shadow-md);
}

.habit-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.375rem;
}

.habit-title {
    font-weight: 650;
    font-size: var(--text-md);
    letter-spacing: var(--tracking-tight);
    line-height: 1.35;
}

.habit-title:hover { color: var(--brand-primary); }

.habit-meta {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    margin-bottom: 0.875rem;
}

.habit-streak {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--warning);
    font-weight: 700;
    font-size: var(--text-xs);
    background-color: var(--warning-soft);
    padding: 0.1875rem 0.5rem;
    border-radius: var(--border-radius-full);
    white-space: nowrap;
}

.habit-streak.is-zero {
    color: var(--text-tertiary);
    background-color: var(--bg-tertiary);
}

.habit-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    margin-top: 0.5rem;
}

.habit-day {
    aspect-ratio: 1;
    border-radius: var(--border-radius-sm);
    background-color: var(--bg-inset);
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    color: var(--text-tertiary);
    cursor: pointer;
    transition: background-color var(--transition-fast), border-color var(--transition-fast),
                transform var(--transition-fast), box-shadow var(--transition-fast);
    -webkit-tap-highlight-color: transparent;
}

.habit-day .hd-month {
    font-size: 0.5625rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: 0.75;
}

.habit-day .hd-num {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.habit-day:hover {
    background-color: var(--bg-tertiary);
    border-color: var(--border-color-hover);
    transform: translateY(-1px);
}

.habit-day.completed {
    background: var(--brand-gradient);
    color: var(--brand-contrast);
    border-color: transparent;
    box-shadow: 0 2px 8px -2px var(--brand-glow);
}

.habit-day.completed:hover { filter: brightness(1.05); }

.habit-day.today {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 1px var(--brand-primary);
}

/* Alışkanlığın henüz var olmadığı günler */
.habit-day.inactive {
    background-color: transparent;
    border-style: dashed;
    opacity: 0.45;
}

.habit-day.inactive:hover { transform: none; background-color: transparent; }

/* Öneri kutusu */
.suggest-panel {
    max-width: var(--content-width);
    margin: 1.75rem auto 0;
    padding: 1.25rem;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-xs);
}

.suggest-panel h3 {
    margin-bottom: 0.875rem;
    font-size: var(--text-sm);
    font-weight: 650;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.suggest-panel h3 i { color: var(--warning); font-size: 1.05rem; }

.suggest-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.suggest-chips .secondary-btn { border-radius: var(--border-radius-full); }

/* --------------------------------------------------------------------------
   Social feed
   -------------------------------------------------------------------------- */
.feed-container {
    max-width: var(--content-width-narrow);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.feed-post {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: 1.125rem 1.25rem;
    box-shadow: var(--shadow-xs);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.feed-post:hover {
    border-color: var(--border-color-hover);
    box-shadow: var(--shadow-sm);
}

.post-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.post-avatar {
    width: 38px;
    height: 38px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--border-color);
    flex-shrink: 0;
}

.post-meta { flex: 1; min-width: 0; }

.post-author {
    font-weight: 650;
    font-size: var(--text-base);
    letter-spacing: var(--tracking-tight);
}

.post-time {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    font-variant-numeric: tabular-nums;
}

.post-content {
    font-size: var(--text-base);
    line-height: 1.6;
    color: var(--text-primary);
}

.post-content strong { font-weight: 650; }

.post-achievement {
    background-color: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-left: 3px solid var(--brand-primary);
    padding: 0.75rem 0.875rem;
    border-radius: var(--border-radius-sm);
    margin-top: 0.75rem;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--text-primary);
}

.post-media {
    margin-top: 0.875rem;
    display: flex;
    gap: 0.875rem;
    padding: 0.625rem;
    background: var(--bg-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.post-media:hover { background: var(--bg-tertiary); border-color: var(--border-color-hover); }
.post-media img { width: 64px; border-radius: var(--border-radius-xs); box-shadow: var(--shadow-xs); }
.post-media-title { font-weight: 650; font-size: var(--text-sm); }
.post-media-sub { font-size: var(--text-xs); color: var(--text-tertiary); margin-top: 0.125rem; }

.post-actions {
    display: flex;
    gap: 0.25rem;
    border-top: 1px solid var(--border-color);
    margin-top: 1rem;
    padding-top: 0.625rem;
}

.action-btn {
    background: none;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4375rem;
    padding: 0.4375rem 0.75rem;
    border-radius: var(--border-radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 550;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.action-btn i { font-size: 1.05rem; }

.action-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.action-btn.is-liked { color: var(--danger); }

.comments-section {
    margin-top: 0.875rem;
    border-top: 1px solid var(--border-color);
    padding-top: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.comment { display: flex; gap: 0.5rem; }
.comment img { width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; }
.comment-bubble {
    background: var(--bg-inset);
    border: 1px solid var(--border-color);
    padding: 0.5rem 0.75rem;
    border-radius: var(--border-radius-md);
    font-size: var(--text-sm);
    line-height: 1.5;
    flex: 1;
    min-width: 0;
}
.comment-bubble strong { display: block; font-size: var(--text-xs); margin-bottom: 0.125rem; }

.comment-input-area {
    margin-top: 0.875rem;
    align-items: center;
    gap: 0.5rem;
}

.comment-input-area img { width: 30px; height: 30px; border-radius: 50%; }

.comment-input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-full);
    padding: 0.5rem 0.875rem;
    font-size: var(--text-sm);
    background: var(--bg-inset);
    color: var(--text-primary);
    outline: none;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.comment-input:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

/* --------------------------------------------------------------------------
   Messaging
   -------------------------------------------------------------------------- */
.messaging-container {
    max-width: var(--content-width);
    margin: 0 auto;
    display: flex;
    height: calc(100dvh - 8.5rem);
    min-height: 420px;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.chat-list {
    width: 290px;
    flex-shrink: 0;
    border-right: 1px solid var(--border-color);
    overflow-y: auto;
    background: var(--bg-inset);
    padding: 0.5rem;
}

.chat-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    cursor: pointer;
    border-radius: var(--border-radius-md);
    border: 1px solid transparent;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.chat-item + .chat-item { margin-top: 2px; }

.chat-item img {
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px var(--border-color);
}

.chat-item:hover { background-color: var(--bg-tertiary); }

.chat-item.active {
    background-color: var(--brand-soft);
    border-color: var(--brand-soft-border);
}

.chat-item-meta { flex: 1; min-width: 0; }

.chat-item-name {
    font-weight: 620;
    font-size: var(--text-base);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-item-preview {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-item .delete-chat-btn {
    opacity: 0;
    color: var(--danger);
    transition: opacity var(--transition-fast);
}

.chat-item:hover .delete-chat-btn,
.chat-item.active .delete-chat-btn { opacity: 0.65; }
.chat-item .delete-chat-btn:hover { opacity: 1; }

.chat-window { flex: 1; display: flex; flex-direction: column; min-width: 0; }

.chat-header {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    font-weight: 650;
    font-size: var(--text-base);
    letter-spacing: var(--tracking-tight);
    background: var(--bg-secondary);
}

.chat-messages {
    flex: 1;
    padding: 1.25rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    background-color: var(--bg-inset);
}

.message {
    max-width: min(70%, 460px);
    padding: 0.5625rem 0.875rem;
    border-radius: var(--border-radius-lg);
    font-size: var(--text-base);
    line-height: 1.5;
    box-shadow: var(--shadow-xs);
    word-break: break-word;
}

.message.received {
    align-self: flex-start;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-bottom-left-radius: var(--border-radius-xs);
}

.message.sent {
    align-self: flex-end;
    background: var(--brand-gradient);
    color: var(--brand-contrast);
    border-bottom-right-radius: var(--border-radius-xs);
}

.chat-input {
    padding: 0.875rem 1.25rem;
    border-top: 1px solid var(--border-color);
    display: flex;
    gap: 0.625rem;
    background: var(--bg-secondary);
    transition: opacity var(--transition-fast);
}

.chat-input input {
    flex: 1;
    min-width: 0;
    padding: 0.625rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-full);
    background-color: var(--bg-inset);
    color: var(--text-primary);
    outline: none;
    font-family: inherit;
    font-size: var(--text-base);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.chat-input input:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

.chat-input button {
    background: var(--brand-gradient);
    color: var(--brand-contrast);
    border: none;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: var(--border-radius-full);
    display: grid;
    place-items: center;
    box-shadow: 0 3px 10px -2px var(--brand-glow);
    transition: transform var(--transition-fast), filter var(--transition-fast);
}

.chat-input button:hover:not(:disabled) { transform: scale(1.05); }
.chat-input button:active:not(:disabled) { transform: scale(0.96); }

@media (max-width: 900px) {
    .chat-list { width: 232px; }
}

@media (max-width: 768px) {
    /* Üst çubuk + sayfa başlığı + alt sekme çubuğu payı bırakılır;
       aksi halde mesaj yazma alanı alt menünün altında kalıyordu. */
    .messaging-container { height: calc(100dvh - 13rem); border-radius: var(--border-radius-md); position: relative; }

    /* Mobilde tek seferde tek panel: önce liste, sohbet seçilince konuşma */
    .chat-list {
        width: 100%;
        border-right: 0;
    }
    .chat-window {
        position: absolute;
        inset: 0;
        background: var(--bg-secondary);
        transform: translateX(100%);
        transition: transform var(--transition-normal);
    }
    .messaging-container.show-conversation .chat-window { transform: translateX(0); }
    .chat-back { display: inline-flex !important; }
    .habits-container { grid-template-columns: 1fr; }
    .timeline-container { border-radius: var(--border-radius-md); }
    .time-label { width: 52px; padding-right: 0.625rem; }
    .message { max-width: 84%; }
}

/* --- Etkinlik zaman etiketi (akışta başlığın önünde) -------------------- */
.event-phase {
    display: inline-block;
    margin-right: 0.5rem;
    padding: 0.125rem 0.5rem;
    border-radius: var(--border-radius-full);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    vertical-align: 0.05em;
    white-space: nowrap;
}

.event-phase--upcoming { background: var(--brand-soft);   color: var(--brand-primary); }
.event-phase--past     { background: var(--bg-tertiary);  color: var(--text-tertiary); }
.event-phase--now      { background: var(--success-soft); color: var(--success); }

/* "Şu anki" etiketi dikkat çeksin */
.event-phase--now::before {
    content: '';
    display: inline-block;
    width: 5px; height: 5px;
    margin-right: 0.3125rem;
    border-radius: 50%;
    background: currentColor;
    animation: pomoPulse 2s var(--ease-in-out) infinite;
}

/* --- Sohbet listesi satırı ---------------------------------------------- */
.chat-item-top,
.chat-item-bottom {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: space-between;
}

.chat-item-top { margin-bottom: 0.125rem; }

.chat-item-when {
    font-size: 0.6875rem;
    color: var(--text-tertiary);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.chat-unread {
    flex-shrink: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border-radius: var(--border-radius-full);
    background: var(--brand-primary);
    color: var(--brand-contrast);
    font-size: 0.625rem;
    font-weight: 700;
}

/* --- Sohbet başlığı ------------------------------------------------------ */
.chat-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.chat-header img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.chat-header-name {
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Geri düğmesi yalnızca mobilde */
.chat-back { display: none; margin-left: -0.375rem; }

/* --- Mesaj balonu -------------------------------------------------------- */
.message {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.message-text { flex: 1; min-width: 0; }

/* Saat ve "düzenlendi" etiketi — daha okunur olsun diye büyütüldü */
.message-meta {
    display: inline-flex;
    align-items: baseline;
    gap: 0.375rem;
    flex-shrink: 0;
    margin-left: auto;
    font-size: 0.6875rem;
    opacity: 0.85;
}

.message-time { font-variant-numeric: tabular-nums; }
.message-edited { font-style: italic; opacity: 0.85; }

/* Düzenleme eylemleri */
.msg-actions { display: flex; gap: 0.125rem; }

.msg-actions .icon-btn {
    opacity: 0;
    padding: 0.25rem;
    transition: opacity var(--transition-fast);
}

.msg-actions .icon-btn i { font-size: 0.9rem; }
.message-wrapper:hover .msg-actions .icon-btn { opacity: 0.6; }
.msg-actions .icon-btn:hover { opacity: 1 !important; }
.msg-actions .delete-msg-btn { color: var(--danger); }

@media (hover: none) {
    .msg-actions .icon-btn { opacity: 0.5; }
}

/* Yerinde düzenleme */
.message-wrapper.is-editing .message {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
}

.message-text[contenteditable="plaintext-only"] { outline: none; min-width: 40px; }

/* --- Gün ayracı ---------------------------------------------------------- */
.chat-day {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.75rem 0 0.5rem;
    color: var(--text-tertiary);
    font-size: var(--text-xs);
}

.chat-day::before,
.chat-day::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border-color);
}

.chat-input.is-disabled { opacity: 0.55; pointer-events: none; }

/* --- Çakışan bloklar yan yana -------------------------------------------- */
.time-block.is-split { box-shadow: var(--shadow-sm); }
.time-block.is-split .block-title { font-size: 0.8125rem; }
.time-block.is-split .block-time { font-size: 0.625rem; }

/* Dar sütunlarda odak düğmesi yer kaplamasın */
.time-block.is-split .block-focus-btn { width: 22px; height: 22px; }

/* --- Süre değiştirme tutamacı -------------------------------------------- */
.block-resize {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 10px;
    cursor: ns-resize;
    touch-action: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-resize::after {
    content: '';
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: currentColor;
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.time-block:hover .block-resize::after { opacity: 0.35; }
.block-resize:hover::after { opacity: 0.7 !important; }

.time-block.is-resizing {
    box-shadow: var(--shadow-lg);
    z-index: 60;
}

.time-block.is-resizing .block-resize::after { opacity: 0.9 !important; }

@media (hover: none) {
    .block-resize { height: 16px; }
    .block-resize::after { opacity: 0.3; }
}

/* --- Akışta konum ve davetliler ------------------------------------------ */
.post-location {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.5rem;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.post-location i { font-size: 0.95rem; color: var(--text-tertiary); }

.post-invites {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.625rem;
}

.invite-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 0.1875rem 0.5rem 0.1875rem 0.1875rem;
    border-radius: var(--border-radius-full);
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.invite-chip img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.invite-chip i { font-size: 0.9rem; }
.invite-chip.is-accepted { background: var(--success-soft); border-color: var(--success); color: var(--success); }
.invite-chip.is-declined { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); opacity: 0.8; }

/* Akışta kendi etkinliğimi düzenleme düğmesi */
.post-edit-btn {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.post-edit-btn i { font-size: 1rem; }
.feed-post:hover .post-edit-btn { opacity: 0.65; }
.post-edit-btn:hover { opacity: 1 !important; }

@media (hover: none) {
    .post-edit-btn { opacity: 0.5; }
}

/* Tekrarlayan etkinlik simgesi */
.block-repeat-icon {
    font-size: 0.8rem;
    vertical-align: -0.1em;
    margin-right: 0.125rem;
    opacity: 0.75;
}
