/**
 * FXPulsePro Reviews
 * Version 2.0
 */

/* --------------------------------------------------
   Reviews
-------------------------------------------------- */

.fxp-reviews-wrapper{
    max-width:900px;
    margin:40px auto;
    font-family:inherit;
}

/* --------------------------------------------------
   Summary
-------------------------------------------------- */

.fxp-reviews-summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:16px 24px;
    margin-bottom:30px;
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.fxp-summary-rating{
    display:flex;
    align-items:center;
    gap:15px;
}

.fxp-summary-value{
    font-size:30px;
    font-weight:700;
    line-height:1;
    color:#0B1F3A;
}

.fxp-summary-stars{
    font-size:18px;
}

.fxp-summary-count{
    color:#6b7280;
    font-size:14px;
    line-height:1.3;
}

/* --------------------------------------------------
   Stars
-------------------------------------------------- */

.fxp-star{
    color:#d1d5db;
}

.fxp-star-filled{
    color:#FDBA12;
}

/* --------------------------------------------------
   Review Card
-------------------------------------------------- */

.fxp-review-item{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:25px;
    margin-bottom:20px;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.fxp-review-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:15px;
}

.fxp-review-author{
    font-size:18px;
    font-weight:700;
    color:#0B1F3A;
}

.fxp-review-title{
    margin-top:4px;
    color:#6b7280;
    font-size:14px;
}

.fxp-review-rating{
    font-size:20px;
    white-space:nowrap;
}

.fxp-review-content{
    line-height:1.7;
    color:#374151;
    margin-bottom:18px;
    word-break:break-word;
}

.fxp-review-date{
    font-size:13px;
    color:#9ca3af;
}

/* --------------------------------------------------
   Form
-------------------------------------------------- */

.fxp-review-form-wrapper{
    margin-top:40px;
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:30px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.fxp-review-form-wrapper h3{
    margin-top:0;
    margin-bottom:25px;
    color:#0B1F3A;
}

.fxp-field{
    margin-bottom:18px;
}

.fxp-review-form input[type=text],
.fxp-review-form input[type=email],
.fxp-review-form select,
.fxp-review-form textarea{

    width:100%;
    box-sizing:border-box;

    padding:14px 16px;

    border:1px solid #d1d5db;

    border-radius:8px;

    background:#fff;

    transition:.25s;

    font-size:15px;

}

.fxp-review-form textarea{

    resize:vertical;

    min-height:160px;

}

.fxp-review-form input:focus,
.fxp-review-form textarea:focus,
.fxp-review-form select:focus{

    outline:none;

    border-color:#55ADFF;

    box-shadow:0 0 0 3px rgba(85,173,255,.18);

}

/* --------------------------------------------------
   Button
-------------------------------------------------- */

.fxp-submit{

	width:100%;
	height:52px;

	border:none;
	border-radius:10px;

	background:#0B1F3A;
	color:#fff;

	font-size:16px;
	font-weight:600;

	cursor:pointer;

	transition:.25s;

}

.fxp-submit:hover{

	background:#14345f;

}

.fxp-submit:disabled{

	background:#cfd8e3;
	color:#7a8797;

	cursor:not-allowed;

	opacity:.6;

}

/* --------------------------------------------------
   Messages
-------------------------------------------------- */

.fxp-response{

    margin-top:20px;

    padding:16px;

    border-radius:8px;

    display:none;

}

.fxp-response.success{

    display:block;

    background:#ecfdf5;

    color:#166534;

    border:1px solid #16a34a;

}

.fxp-response.error{

    display:block;

    background:#fef2f2;

    color:#991b1b;

    border:1px solid #ef4444;

}

/* --------------------------------------------------
   Empty Reviews
-------------------------------------------------- */

.fxp-no-reviews{

    text-align:center;

    padding:40px;

    color:#6b7280;

    border:1px dashed #d1d5db;

    border-radius:12px;

}

/* --------------------------------------------------
   Honeypot
-------------------------------------------------- */

.fxp-honeypot{

    display:none !important;

}

/* --------------------------------------------------
   Admin Dashboard
-------------------------------------------------- */

.fxp-dashboard{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));

    gap:20px;

    margin:30px 0;

}

.fxp-card{

    background:#ffffff;

    border:1px solid #e5e7eb;

    border-radius:10px;

    padding:24px;

}

.fxp-card-value{

    display:block;

    font-size:34px;

    font-weight:700;

    color:#0B1F3A;

}

.fxp-card-title{

    display:block;

    margin-top:8px;

    color:#6b7280;

}

.fxp-approved{

    color:#16a34a;

    font-weight:600;

}

.fxp-pending{

    color:#d97706;

    font-weight:600;

}

/* --------------------------------------------------
   Mobile
-------------------------------------------------- */

@media (max-width:768px){

.fxp-reviews-summary{

flex-direction:column;

align-items:flex-start;

}

.fxp-review-header{

flex-direction:column;

}

.fxp-submit{

width:100%;

}

.fxp-review-form-wrapper{

padding:20px;

}

.fxp-checkbox-field label{

	display:grid;

	grid-template-columns:20px 1fr;

	align-items:start;

	column-gap:8px;

	line-height:1.5;

}

}

.fxp-review-counter{
	margin-top:8px;
	font-size:13px;
	color:#666;
}

/* --------------------------------------------------
   Legal Block
-------------------------------------------------- */

.fxp-email-note{

	margin-top:8px;
	font-size:13px;
	line-height:1.5;
	color:#6b7280;

}

.fxp-checkbox-field{

	margin-top:14px;

}

.fxp-checkbox-field label{

	display:flex;
	align-items:center;

	gap:8px;

	font-size:13px;
	line-height:1.4;

	color:#374151;

	cursor:pointer;

	flex-wrap:nowrap;

}

.fxp-checkbox-field input[type="checkbox"]{

	flex:0 0 auto;

	margin:0;

}

.fxp-checkbox-field a{

	color:inherit;

	text-decoration:none;

	font-weight:400;

}

.fxp-checkbox-field a:hover{

	text-decoration:none;

	color:#777777;

}

/* --------------------------------------------------
   AJAX Pagination
-------------------------------------------------- */

.fxp-pagination{

	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:20px;

	margin:30px 0;

	padding:18px 24px;

	background:#ffffff;

	border:1px solid #e5e7eb;

	border-radius:12px;

	box-shadow:0 8px 20px rgba(0,0,0,.04);

}

.fxp-pagination button{

	padding:10px 18px;

	border:none;

	border-radius:8px;

	background:#0B1F3A;

	color:#ffffff;

	font-size:14px;

	font-weight:600;

	cursor:pointer;

	transition:.25s;

}

.fxp-pagination button:hover{

	background:#14345f;

}

.fxp-pagination button:disabled{

	background:#cfd8e3;

	color:#7a8797;

	cursor:default;

}

.fxp-page-info{

	font-size:15px;

	font-weight:600;

	color:#0B1F3A;

	text-align:center;

}

.fxp-current-page{

	color:#9CA3AF;

}

.fxp-total-pages{

	color:#0B1F3A;

}

.fxp-legal-links{

	margin-left:34px;

	margin-top:4px;

	font-size:12px;

	line-height:1.5;

}

.fxp-legal-links a{

	display:block;

	color:#374151;

	text-decoration:none;

	font-weight:400;

	transition:color .2s ease;

}

.fxp-legal-links a:hover{

	color:#777777;

}

.fxp-legal-links span{

	display:none;

}