/*
 * Plugin CSS for Keehan's TwitchCon Events v2.4.6
 */

/* --- Main Container & Overall Layout --- */
.kte-container {
    width: 100%;
    max-width: 900px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin: 15px auto 5px auto;
    color: #333;
}

/* --- Collapsible Header --- */
.kte-collapsible-header {
    position: relative;
    padding: 0 0 15px 0;
    background-color: transparent;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}
.kte-collapsible-header h3 {
    margin: 0;
    color: #333;
    font-size: 1.5em;
    text-align: center;
}
.kte-toggle-arrow {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-75%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #333;
    transition: transform 0.3s ease-in-out;
}
.kte-collapsible-header.open .kte-toggle-arrow {
    transform: translateY(-25%) rotate(180deg);
}

/* --- Collapsible Content Display Logic --- */
.kte-collapsible-content {
    display: none;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}
.kte-collapsible-header.open + .kte-collapsible-content {
    display: block;
}

/* --- Messages & Search/Filter --- */
.kte-referral-message, .kte-feature-message {
    text-align: center;
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
    padding: 0 15px;
}
.kte-feature-message {
    margin-top: -10px;
    font-size: 13px;
}
.kte-referral-message a, .kte-feature-message a {
    color: #6441a5;
    text-decoration: underline;
}
.kte-referral-message a:hover, .kte-feature-message a:hover {
    color: #4b2f82;
}

.kte-search-filter-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.kte-search-input {
    flex-grow: 1;
    min-width: 200px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
}
.kte-sort-filter {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    cursor: pointer;
}

/* --- Community Add Form --- */
.kte-add-user-form-wrapper {
    display: none; /* Hidden by default */
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px;
    background-color: #f0f0f0;
    border-radius: 8px;
    margin-bottom: 20px;
}
.kte-add-user-input {
    flex-grow: 1;
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 8px;
}
.kte-form-message {
    width: 100%;
    text-align: center;
    font-weight: bold;
    padding-top: 5px;
}
.kte-add-user-form-wrapper .button {
    padding: 8px 12px;
    height: auto;
    line-height: normal;
}


/* --- Creator Grid & Items --- */
.kte-creator-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
}
.kte-creator-item {
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.kte-creator-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.kte-creator-item .kte-creator-link {
    text-decoration: none;
    color: #333;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.kte-creator-item .kte-avatar-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    margin-bottom: 10px;
}
.kte-creator-item img {
    width: 100%;
    height: 100%;
    border-radius: 11px;
    object-fit: cover;
    border: 2px solid #6441a5;
    transition: box-shadow 0.3s ease, filter 0.3s ease;
}
.kte-creator-item:hover img {
    box-shadow: 0 0 15px 5px rgba(100, 65, 165, 0.7);
}
.kte-creator-item .kte-creator-link span {
    font-weight: bold;
    font-size: 1.1em;
    word-break: break-word;
}
.kte-creator-item .kte-follower-count {
    font-size: 0.85em;
    color: #555;
    margin-top: 5px;
}

/* --- CHANGE: Updated Deleted Channel Overlay --- */
.kte-creator-item.channel-deleted .kte-avatar-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Semi-transparent black */
    background-image: url('../images/timemachineghost.png'); /* The ghost image */
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
    border-radius: 9px; /* Match image radius */
}
.kte-creator-item.channel-deleted img {
    filter: grayscale(100%);
}
.kte-creator-item.channel-deleted .kte-follower-count {
    color: red;
}


/* --- Add Yourself Item --- */
.kte-add-item {
    cursor: pointer;
    background-color: #e9e9ed;
    border-style: dashed;
    justify-content: center;
}
.kte-add-item .kte-add-item-plus {
    width: 80px;
    height: 80px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    color: #555;
    background-color: #ddd;
    margin-bottom: 10px;
    border: 2px dashed #6441a5;
    transition: background-color 0.2s, color 0.2s;
}
.kte-add-item:hover .kte-add-item-plus {
    background-color: #6441a5;
    color: #fff;
}
.kte-add-item span {
    font-weight: bold;
    font-size: 1.1em;
    word-break: break-word;
}

/* --- Glow Effect Styles --- */
.kte-creator-item.realkeehan-glow { border-color: #9400D3; box-shadow: inset 0 0 6px 2px rgba(148, 0, 211, 0.6); }
.kte-creator-item.friend-glow { border-color: #FF00FF; box-shadow: inset 0 0 6px 2px rgba(255, 0, 255, 0.6); }
.kte-creator-item.featured-glow { border-color: #00CED1; box-shadow: inset 0 0 6px 2px rgba(0, 206, 209, 0.6); }
/* --- ADDITION: New orange glow for official speakers --- */
.kte-creator-item.official-speaker-glow { border-color: #FFA500; box-shadow: inset 0 0 6px 2px rgba(255, 165, 0, 0.6); }
.kte-creator-item.also-featured-glow { border-color: #ADFF2F; box-shadow: inset 0 0 6px 2px rgba(173, 255, 47, 0.6); }
.kte-creator-item.speaker-only-glow { border-color: #8B0000; box-shadow: inset 0 0 6px 2px rgba(139, 0, 0, 0.6); }
.kte-creator-item.realkeehan-glow:hover { box-shadow: inset 0 0 11px 5px rgba(148, 0, 211, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }
.kte-creator-item.friend-glow:hover { box-shadow: inset 0 0 10px 5px rgba(255, 0, 255, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }
.kte-creator-item.featured-glow:hover { box-shadow: inset 0 0 10px 4px rgba(0, 206, 209, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }
/* --- ADDITION: Hover effect for new orange glow --- */
.kte-creator-item.official-speaker-glow:hover { box-shadow: inset 0 0 10px 4px rgba(255, 165, 0, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }
.kte-creator-item.also-featured-glow:hover { box-shadow: inset 0 0 10px 4px rgba(173, 255, 47, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }
.kte-creator-item.speaker-only-glow:hover { box-shadow: inset 0 0 10px 4px rgba(139, 0, 0, 0.9), 0 4px 12px rgba(0, 0, 0, 0.15); }

/* --- Schedule Display Styles --- */
.kte-schedule-toggle {
    background-color: #6441a5; color: #fff; border: none; border-radius: 4px;
    padding: 4px 8px; font-size: 12px; cursor: pointer;
    margin-top: 8px; transition: background-color 0.2s;
}
.kte-schedule-toggle:hover { background-color: #4b2f82; }
.kte-schedule-details {
    margin-top: 10px; width: 100%; display: flex;
    flex-direction: column; gap: 8px;
}
.kte-session-info {
    padding: 8px 8px 8px 12px; border-left: 4px solid #ccc;
    background-color: #e9e9ed; border-radius: 4px; text-align: left;
}
.kte-session-title { font-weight: bold; color: #2c3e50; display: block; font-size: 13px; line-height: 1.3; }
.kte-session-program {
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px;
    font-weight: 600; color: #7f8c8d; margin: 2px 0 4px; display: block;
}
.kte-session-datetime, .kte-session-location { font-size: 12px; color: #555; display: block; }
.kte-session-location { font-style: italic; }

/* --- Program Type Border Colors --- */
.kte-session-info.program-glitch-stage { border-color: #bfabff; }
.kte-session-info.program-twitch-rivals { border-color: #f093f9; }
.kte-session-info.program-community-meetup { border-color: #57bee6; }
.kte-session-info.program-creator-camp { border-color: #be5500; }
.kte-session-info.program-community-session { border-color: #fdb210; }
.kte-session-info.program-brand-session { border-color: #befae1; }
.kte-session-info.program-interactive-workshop { border-color: #ea7078; }
.kte-session-info.program-music-session { border-color: #facdcd; }
.kte-session-info.program-meet-and-greet, 
.kte-session-info.program-meet-greet { border-color: #9b59b6; }
.kte-session-info.program-general { border-color: #95a5a6; }
.kte-session-info.program-opening-ceremony, 
.kte-session-info.program-closing-ceremony { border-color: #34495e; }

/* --- Utility Classes --- */
.kte-no-results, .kte-loading-message {
    grid-column: 1 / -1; text-align: center; color: #555; padding: 20px;
}