/* =====================================================
   Opinion Form
===================================================== */

.oh-opinion-box{
    background:#fff;
    padding:30px;
    margin:40px 0;
    border-radius:16px;
    border:1px solid #e5e7eb;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
}

.oh-opinion-box textarea{
    width:100%;
    min-height:180px;
    padding:18px;
    border:1px solid #d1d5db;
    border-radius:10px;
    resize:vertical;
    font-size:16px;
    line-height:1.7;
    transition:.3s;
}

.oh-opinion-box textarea:focus{
    outline:none;
    border-color:#24346E;
    box-shadow:0 0 0 3px rgba(36,52,110,.1);
}

.oh-opinion-box button{
    margin-top:15px;
    background:#24346E;
    color:#fff;
    border:none;
    padding:14px 32px;
    border-radius:8px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.oh-opinion-box button:hover{
    background:#1A2550;
}

/* =====================================================
   Login Message
===================================================== */

.oh-login-message{
    background:#f8f9ff;
    border:1px solid #dbe5ff;
    padding:25px;
    border-radius:14px;
    text-align:center;
    margin:35px 0;
}

.oh-login-message p{
    margin:0 0 15px;
}

.oh-login-message a.button{
    display:inline-block;
    background:#24346E;
    color:#fff !important;
    padding:14px 30px;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.oh-login-message a.button:hover{
    background:#1A2550;
}

/* =====================================================
   Discussion Layout
===================================================== */

.opinionhub-single-discussion{
    max-width:900px;
    margin:50px auto;
}

/* =====================================================
   Opinion Card
===================================================== */

.opinion-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:24px;
    margin-bottom:30px;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:.3s;
}

.opinion-card:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

/* =====================================================
   Header
===================================================== */

.oh-opinion-header{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:18px;
}

.oh-avatar img{
    width:50px;
    height:50px;
    border-radius:50%;
    border:2px solid #eef2f7;
}

.oh-user-info{
    flex:1;
}

.oh-user-info h4,
.oh-user-info strong{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#1f2937;
}

.oh-time{
    color:#6b7280;
    font-size:13px;
    margin-top:4px;
}

/* =====================================================
   Opinion Content
===================================================== */

.oh-opinion-content{
    font-size:16px;
    line-height:1.8;
    color:#374151;
    margin-top:15px;
}

/* =====================================================
   Actions
===================================================== */

.oh-opinion-actions{
    display:flex;
    align-items:center;
    gap:25px;
    margin-top:20px;
    padding-top:15px;
    border-top:1px solid #ececec;
}

.oh-opinion-actions a{
    color:#24346E;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.oh-opinion-actions a:hover{
    color:#0E5BD7;
}

/* =====================================================
   Reply Form
===================================================== */

.oh-reply-form{
    display:none;
    margin-top:20px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:18px;
}

.oh-reply-form textarea{
    width:100%;
    min-height:120px;
    padding:15px;
    border:1px solid #d1d5db;
    border-radius:8px;
    resize:vertical;
    transition:.3s;
}

.oh-reply-form textarea:focus{
    outline:none;
    border-color:#24346E;
    box-shadow:0 0 0 3px rgba(36,52,110,.1);
}

.oh-reply-form button{
    margin-top:12px;
    background:#24346E;
    color:#fff;
    border:none;
    padding:12px 24px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    transition:.3s;
}

.oh-reply-form button:hover{
    background:#1A2550;
}

/* =====================================================
   Replies
===================================================== */

.oh-replies{
    margin-top:25px;
    margin-left:60px;
    padding-left:20px;
    border-left:3px solid #dbe4f3;
}

.oh-reply-card{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:18px;
    margin-bottom:15px;
    transition:.3s;
}

.oh-reply-card:hover{
    background:#fff;
    box-shadow:0 6px 15px rgba(0,0,0,.05);
}

/* =====================================================
   Mobile
===================================================== */

@media (max-width:768px){

    .opinion-card{
        padding:18px;
    }

    .oh-opinion-header{
        gap:12px;
    }

    .oh-avatar img{
        width:42px;
        height:42px;
    }

    .oh-user-info h4,
    .oh-user-info strong{
        font-size:16px;
    }

    .oh-replies{
        margin-left:20px;
        padding-left:15px;
    }

    .oh-opinion-actions{
        flex-wrap:wrap;
        gap:15px;
    }

}

/* Like Button */

.oh-like-btn{

    color:#6b7280;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.oh-like-btn:hover{

    color:#e63946;

}

.oh-like-btn.liked{

    color:#e63946;

}

.oh-toggle-replies{

	display:inline-flex;
	align-items:center;
	gap:6px;

	font-weight:600;

	color:#24346E;

	text-decoration:none;

	cursor:pointer;

	margin:15px 0;

}

.oh-toggle-replies:hover{

	text-decoration:underline;

}

.oh-replies{

	margin-top:15px;

}

/*====================================
Toast Notification
====================================*/

.oh-toast{

	position:fixed;
	top:30px;
	right:30px;

	min-width:280px;

	background:#24346E;
	color:#fff;

	padding:16px 22px;

	border-radius:10px;

	box-shadow:0 12px 30px rgba(0,0,0,.18);

	z-index:999999;

	font-size:15px;

	font-weight:600;

	display:flex;
	align-items:center;
	gap:10px;

	opacity:0;
	transform:translateY(-20px);

	transition:.35s;

	pointer-events:none;

}

.oh-toast.show{

	opacity:1;

	transform:translateY(0);

}

.oh-toast.success{

	background:#16a34a;

}

.oh-toast.error{

	background:#dc2626;

}

.oh-toast.info{

	background:#24346E;

}

.oh-toast-icon{

	font-size:18px;

}