/*==================================================
KAHOAPP FEED CSS
PART 1
==================================================*/

/*========== GOOGLE FONT ==========*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*========== RESET ==========*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:#F5F7FA;

color:#1F2937;

font-size:15px;

line-height:1.6;

overflow-x:hidden;

}

/*========== COLORS ==========*/

:root{

--primary:#FFC107;

--primary-dark:#FFB300;

--white:#ffffff;

--bg:#F5F7FA;

--border:#E5E7EB;

--text:#1F2937;

--gray:#6B7280;

--danger:#ef4444;

--radius:18px;

--shadow:0 4px 15px rgba(0,0,0,.07);

}

/*========== SCROLLBAR ==========*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#F3F4F6;

}

::-webkit-scrollbar-thumb{

background:#FFC107;

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:#FFB300;

}

/*========== LINKS ==========*/

a{

text-decoration:none;

color:inherit;

transition:.25s;

}

img{

max-width:100%;

display:block;

}

button{

font-family:inherit;

cursor:pointer;

}

/*==================================================
HEADER
==================================================*/

.header{

position:fixed;

top:0;

left:0;

right:0;

height:72px;

background:#fff;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 30px;

border-bottom:1px solid var(--border);

z-index:9999;

box-shadow:0 2px 10px rgba(0,0,0,.04);

}

/*========== LOGO ==========*/

.logo{

display:flex;

align-items:center;

}

.logo img{

height:120px;

}

/*========== USER AREA ==========*/

.user-area{

display:flex;

align-items:center;

gap:15px;

}

.profile-name{

display:flex;

align-items:center;

gap:12px;

font-size:15px;

font-weight:600;

color:var(--text);

}

.header-profile{

width:42px;

height:42px;

border-radius:50%;

object-fit:cover;

border:2px solid var(--primary);

}

/*========== JOIN BUTTON ==========*/

.join-btn{

background:var(--primary);

color:#111;

padding:10px 22px;

border-radius:999px;

font-weight:700;

transition:.25s;

}

.join-btn:hover{

background:var(--primary-dark);

transform:translateY(-2px);

}

/*==================================================
MAIN LAYOUT
==================================================*/

.layout{

max-width:1500px;

margin:95px auto 30px;

padding:0 20px;

display:grid;

grid-template-columns:250px 1fr 340px;

gap:25px;

align-items:start;

}

/*========== MAIN FEED ==========*/

.feed-main{

display:flex;

flex-direction:column;

gap:22px;

min-width:0;

}

/*========== EMPTY MESSAGE ==========*/

.empty{

background:#fff;

padding:40px;

border-radius:var(--radius);

text-align:center;

box-shadow:var(--shadow);

font-size:18px;

font-weight:600;

color:var(--gray);

}

/*==================================================
LEFT SIDEBAR
==================================================*/

.sidebar{

position:sticky;

top:92px;

background:#fff;

border:1px solid var(--border);

border-radius:var(--radius);

padding:20px;

box-shadow:var(--shadow);

}

.side-logo{

width:170px;

margin:0 auto 25px;

}

.sidebar a{

display:flex;

align-items:center;

gap:15px;

padding:14px 18px;

border-radius:14px;

margin-bottom:8px;

font-size:16px;

font-weight:600;

color:#374151;

transition:.25s;

}

.sidebar a i{

width:22px;

font-size:20px;

text-align:center;

}

.sidebar a:hover{

background:#FFF7DA;

color:#111;

}

.sidebar a.active{

background:var(--primary);

color:#111;

font-weight:700;

}

.sidebar hr{

border:none;

border-top:1px solid var(--border);

margin:18px 0;

}

/*==================================================
POST COMPOSER
==================================================*/

.composer{

background:#fff;

border:1px solid var(--border);

border-radius:var(--radius);

box-shadow:var(--shadow);

padding:20px;

}

.composer form{

display:flex;

flex-direction:column;

gap:18px;

}

/*========== TOP ==========*/

.composer-top{

display:flex;

gap:15px;

align-items:flex-start;

}

.composer-avatar,

.profile-photo{

width:52px;

height:52px;

border-radius:50%;

object-fit:cover;

border:2px solid var(--primary);

flex-shrink:0;

}

.composer textarea{

flex:1;

border:none;

outline:none;

resize:none;

background:transparent;

font-size:18px;

line-height:1.7;

font-family:inherit;

min-height:120px;

color:var(--text);

}

.composer textarea::placeholder{

color:#9CA3AF;

}

/*========== IMAGE PREVIEW ==========*/

.preview-box{

display:none;

margin-top:10px;

}

.preview-box img{

width:100%;

border-radius:15px;

border:1px solid var(--border);

}

/*========== BOTTOM ==========*/

.composer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

padding-top:15px;

border-top:1px solid var(--border);

}

/*========== TOOLS ==========*/

.composer-tools{

display:flex;

align-items:center;

gap:12px;

flex-wrap:wrap;

}

.tool-btn{

display:flex;

align-items:center;

gap:8px;

padding:10px 18px;

background:#F3F4F6;

border-radius:999px;

cursor:pointer;

font-size:15px;

font-weight:600;

transition:.25s;

user-select:none;

}

.tool-btn i{

font-size:18px;

color:var(--primary-dark);

}

.tool-btn:hover{

background:#FFF5CC;

transform:translateY(-2px);

}

/* hide file input */

.tool-btn input{

display:none;

}

/*========== POST BUTTON ==========*/

.post-btn{

background:var(--primary);

color:#111;

border:none;

padding:12px 30px;

border-radius:999px;

font-size:16px;

font-weight:700;

transition:.25s;

}

.post-btn:hover{

background:var(--primary-dark);

transform:translateY(-2px);

box-shadow:0 6px 15px rgba(255,193,7,.35);

}

.post-btn:active{

transform:scale(.97);

}


/*==================================================
POST CARD (Twitter/X Style)
==================================================*/

.post-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:18px;
    transition:.25s;
}

.post-card:hover{
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

/*========== USER INFO ==========*/

.post-user{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.profile-photo{
    width:52px;
    height:52px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid var(--primary);
}

.user-info{
    flex:1;
}

.user-info h4{
    font-size:17px;
    font-weight:700;
    color:#111827;
    display:flex;
    align-items:center;
    gap:6px;
}

.verified{
    color:#1DA1F2;
    font-size:15px;
}

.username{
    color:#6B7280;
    font-size:14px;
    margin-top:2px;
}

.date{
    color:#9CA3AF;
    font-size:13px;
    margin-top:4px;
}

/*==================================================
POST TEXT
==================================================*/

.post-content{
    margin-top:15px;
    font-size:16px;
    line-height:1.8;
    color:#1F2937;
    word-break:break-word;
    white-space:pre-wrap;
}

/*==================================================
POST IMAGE
==================================================*/

.post-image{
    margin-top:15px;
}

.post-image img{
    width:100%;
    max-height:650px;
    object-fit:cover;
    border-radius:16px;
    border:1px solid var(--border);
}

/*==================================================
POST VIDEO
==================================================*/

.post-video{
    margin-top:15px;
}

.post-video video{
    width:100%;
    border-radius:16px;
    background:#000;
}

/*==================================================
ACTION BAR
==================================================*/

.post-action{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.post-action a{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border-radius:999px;
    color:#4B5563;
    font-size:15px;
    font-weight:600;
    transition:.25s;
}

.post-action a:hover{
    background:#FFF7DA;
    color:#111;
}

.post-action i{
    font-size:18px;
}

/*========== Like Hover ==========*/

.post-action .like:hover{
    color:#E0245E;
}

/*========== Comment Hover ==========*/

.post-action .comment:hover{
    color:#1DA1F2;
}

/*========== Share Hover ==========*/

.post-action .share:hover{
    color:#10B981;
}

/*==================================================
POST COUNTERS
==================================================*/

.post-stats{
    display:flex;
    gap:18px;
    margin-top:12px;
    color:#6B7280;
    font-size:14px;
}

.post-stats span{
    display:flex;
    align-items:center;
    gap:6px;
}

/*==================================================
HASHTAGS
==================================================*/

.post-content a{
    color:#1D9BF0;
    font-weight:600;
}

.post-content a:hover{
    text-decoration:underline;
}

/*==================================================
POST SEPARATOR
==================================================*/

.post-card + .post-card{
    margin-top:20px;
}


/*==================================================
RIGHT SIDEBAR
==================================================*/

.right-sidebar{

position:sticky;

top:92px;

display:flex;

flex-direction:column;

gap:20px;

}

.widget{

background:#fff;

border:1px solid var(--border);

border-radius:var(--radius);

box-shadow:var(--shadow);

padding:20px;

}

.widget h3{

font-size:18px;

font-weight:700;

margin-bottom:18px;

padding-bottom:10px;

border-bottom:1px solid var(--border);

}

/* Latest Posts */

.widget a{

display:block;

padding:12px 0;

font-size:15px;

color:#374151;

border-bottom:1px solid #F1F1F1;

transition:.25s;

line-height:1.6;

}

.widget a:last-child{

border:none;

}

.widget a:hover{

color:var(--primary-dark);

padding-left:6px;

}

/* Suggested Users */

.suggest-user{

display:flex;

align-items:center;

gap:12px;

padding:12px 0;

border-bottom:1px solid #F1F1F1;

}

.suggest-user:last-child{

border:none;

}

.suggest-user img{

width:45px;

height:45px;

border-radius:50%;

object-fit:cover;

border:2px solid var(--primary);

}

.suggest-user strong{

display:block;

font-size:15px;

}

.suggest-user span{

font-size:13px;

color:#6B7280;

}

.follow-btn{

margin-left:auto;

padding:8px 18px;

background:var(--primary);

border:none;

border-radius:999px;

font-weight:700;

cursor:pointer;

transition:.25s;

}

.follow-btn:hover{

background:var(--primary-dark);

}

/* Trending */

.trending-item{

display:flex;

justify-content:space-between;

align-items:center;

padding:12px 0;

border-bottom:1px solid #F1F1F1;

}

.trending-item:last-child{

border:none;

}

.trending-item span{

font-size:13px;

color:#6B7280;

}

.trending-item strong{

font-size:15px;

}

/*==================================================
HOVER EFFECT
==================================================*/

.sidebar,
.widget,
.composer,
.post-card{

transition:.25s;

}

.sidebar:hover,
.widget:hover,
.composer:hover{

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/*==================================================
ANIMATION
==================================================*/

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(15px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.post-card,
.widget,
.composer{

animation:fadeIn .35s ease;

}

/*==================================================
TABLET
==================================================*/

@media(max-width:1200px){

.layout{

grid-template-columns:220px 1fr 280px;

}

}

/*==================================================
SMALL TABLET
==================================================*/

@media(max-width:992px){

.layout{

grid-template-columns:220px 1fr;

}

.right-sidebar{

display:none;

}

}

/*==================================================
MOBILE
==================================================*/

@media(max-width:768px){

.header{

padding:0 15px;

height:65px;

}

.logo img{

height:80px;

}

.layout{

grid-template-columns:1fr;

margin-top:80px;

padding:0 10px;

}

.sidebar{

display:none;

}

.composer{

padding:15px;

}

.composer-top{

gap:10px;

}

.profile-photo{

width:45px;

height:45px;

}

.composer textarea{

font-size:16px;

min-height:90px;

}

.composer-bottom{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

.composer-tools{

width:100%;

justify-content:space-between;

}

.tool-btn{

flex:1;

justify-content:center;

padding:10px;

}

.post-btn{

width:100%;

}

.post-card{

padding:15px;

}

.post-image img{

border-radius:12px;

}

.post-video video{

border-radius:12px;

}

.post-action{

gap:5px;

}

.post-action a{

font-size:14px;

padding:8px;

}

}

/*==================================================
EXTRA SMALL
==================================================*/

@media(max-width:480px){

.header-profile{

width:35px;

height:35px;

}

.profile-name{

font-size:14px;

}

.post-user{

gap:10px;

}

.user-info h4{

font-size:15px;

}

.post-content{

font-size:15px;

line-height:1.7;

}

.widget{

padding:15px;

}

}