/* Fiverr Style Reviews v4 - styling */
.fsr-root{max-width:960px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;color:#222}
.fsr-top{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.fsr-summary{flex:1;min-width:300px;background:#fff;border-radius:10px;padding:18px;border:1px solid #eee;}

/* RIGHT CONTROLS */
.fsr-controls-right{width:260px;min-width:220px;display:flex;flex-direction:column;gap: 15px; }
.fsr-extra-info-box {background: #fff;border: 1px solid #eee;border-radius: 10px;padding: 15px;}
.fsr-extra-info-box h4 {margin: 0 0 10px 0;font-size: 16px;font-weight: 700;}
.fsr-breakdown-row {display: flex;justify-content: space-between;align-items: center;font-size: 14px;margin-bottom: 5px;}

/* Buttons */
.fsr-btn{background:#111;color:#fff;padding:10px 12px;border-radius:8px;border:none;cursor:pointer; transition: background 0.2s;}
.fsr-btn:hover {background: #000;}


/* Secondary Button for "See All" */
.fsr-btn-secondary {
    /* Default State: White Background, Black Text, Black Border */
    background: #fff;
    color: #111;
    border: 1px solid #111;
    padding: 10px 24px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    
    /* FIX: Smooth transition for all properties (color, background, border) */
    transition: all 0.3s ease-in-out; 
}

/* Hover State: Background Black, Text White */
.fsr-btn-secondary:hover {
    background: #111;
    color: #fff;
    border-color: #111; /* Ensure border remains black on hover */
}

/* Active/Click State: (Same as hover for consistent black appearance) */
.fsr-btn-secondary:active {
    background: #333; /* Slightly darker black for press effect */
    color: #fff;
    border-color: #333;
    transform: scale(0.98); /* Subtle press animation */
}

/* Remove default blue outline on focus */
.fsr-btn-secondary:focus {
    outline: none;
    box-shadow: none; 
}



.fsr-reviews-area{margin-top:18px}
.fsr-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #f0f0f0;padding:14px;border-radius:10px;margin-bottom:12px;}
.fsr-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 56px;background:#f3f3f3}
.fsr-author{font-weight:600;color:#222}
.fsr-date{font-size:12px;color:#888}
.fsr-stars{color:#ffb33e;font-weight:700}
.fsr-content{flex:1}

/* Review text styling */
.fsr-text {
    border-top: 1px solid #f0f0f0;
    padding-top: 10px; 
    margin-top: 10px; 
    font-size: 14px;
    line-height: 1.5;
    overflow: hidden; 
    overflow-wrap: break-word;
    word-wrap: break-word; 
    word-break: break-word; 
}

/* Image Styling */
.fsr-images img{max-width: 60px; height: auto;border-radius: 6px;margin-left: 10px; margin-bottom: 5px; float: right; border: 1px solid #e0e0e0;}

/* Helpful Section */
.fsr-helpful{margin-top:12px; font-size:13px;color:#555;display:flex;gap: 15px; align-items:center;}
.fsr-helpful-btn {background: none;border: 0px solid #e0e0e0; padding: 6px 10px;cursor: pointer;font-size: 13px;color: #666;display: flex;align-items: center;gap: 5px;transition: all 0.2s;border-radius: 4px; outline: none !important; box-shadow: none !important;}
.fsr-helpful-btn:hover {background: none;color: #666;}
.fsr-helpful-btn::before {content: "";display: inline-block;width: 14px; height: 14px;margin-right: 0;background-size: contain;background-repeat: no-repeat;background-position: center;}
.fsr-helpful-btn[data-type="yes"]::before {background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23888' d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.47-.19-.9-.52-1.22L17.17 1 8.5 9.77c-.36.36-.58.86-.58 1.41V19c0 1.1.9 2 2 2h9c.83 0 1.5-.54 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z'/%3e%3c/svg%3e");}
.fsr-helpful-btn[data-type="no"]::before {width: 14px;height: 14px;margin-right: 6px;vertical-align: middle;background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23888' d='M1 3h4v12H1V3zm22 11c0 1.1-.9 2-2 2h-6.31l.95 4.57.03.32c0 .47-.19.9-.52 1.22L17.17 23 8.5 14.23c-.36-.36-.58-.86-.58-1.41V5c0-1.1.9-2 2-2h9c.83 0 1.5.54 1.84 1.22l3.02 7.05c.09.23.14.47.14.73v2z'/%3e%3c/svg%3e");}

/* Rating breakdown */
.fsr-rating-breakdown {margin-top: 15px;}
.fsr-star-row {display: flex;align-items: center;gap: 8px;margin-bottom: 5px;font-size: 14px;}
.fsr-star-row .fsr-stars {flex: 0 0 50px;}
.fsr-star-bar {flex-grow: 1;height: 8px;background-color: #f0f0f0;border-radius: 4px;overflow: hidden;}
.fsr-star-fill {height: 100%;background-color: #ffb33e;}
.fsr-star-count {flex: 0 0 30px;text-align: right;font-weight: 600;}
.fsr-top h2 small {font-size: 50%;font-weight: normal;}

/* --- MODAL STYLING --- */
body.fsr-modal-open {overflow: hidden;}
.fsr-modal{position:fixed;inset:0;background:rgba(0,0,0,0.5); display:flex;align-items:center;justify-content:center;z-index:9999;padding: 15px; }

/* Standard Modal (Submit Form) */
.fsr-modal-inner{
    background:#fff;
    padding:20px; 
    border-radius:12px; 
    width:95%;
    max-width:420px; 
    position:relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); 
    max-height: 90vh; /* Prevent modal being taller than screen */
    overflow-y: auto; /* Allow scrolling within form if needed */
}

/* NEW: Large Modal for "All Reviews" */
.fsr-modal-inner.fsr-modal-large {
    max-width: 800px; /* Wider for reading reviews */
    height: 80vh; /* Fixed height relative to viewport */
    display: flex;
    flex-direction: column;
}

/* Scrollable list inside Large Modal */
.fsr-scrollable-list {
    flex: 1;
    overflow-y: auto;
    margin-top: 10px;
    padding-right: 5px; /* space for scrollbar */
}
/* Style scrollbar slightly */
.fsr-scrollable-list::-webkit-scrollbar { width: 6px; }
.fsr-scrollable-list::-webkit-scrollbar-track { background: #f1f1f1; }
.fsr-scrollable-list::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px;}

.fsr-modal-inner h3 {margin-top: 0;margin-bottom: 15px; font-size: 22px; font-weight: 700;color: #1a1a1a; }
.fsr-close{position:absolute;right:10px; top:10px; border:none;background: #f0f0f0; color: #333; font-size:16px; cursor:pointer;width: 32px; height: 32px;line-height: 32px; text-align: center;border-radius: 50%; padding: 0;transition: background 0.2s, color 0.2s;}
.fsr-close:hover {background: #e0e0e0;color: #000;}

/* Form inputs */
.fsr-modal-inner label {display: block;font-weight: 600;margin-top: 12px; margin-bottom: 4px; color: #1a1a1a; font-size: 14px; }
.fsr-modal-inner input[type="text"], .fsr-modal-inner textarea {width:100%;padding:9px 12px; border:1px solid #e0e0e0; border-radius:8px; margin-bottom:10px; box-sizing: border-box; font-size: 14px; color: #333;transition: border-color 0.2s, box-shadow 0.2s; }
.fsr-modal-inner input[type="text"]:focus, .fsr-modal-inner textarea:focus {border-color: #1664e8; box-shadow: 0 0 0 1px #1664e8; outline: none;}
.fsr-modal-inner textarea {resize: vertical;min-height: 80px; }
.fsr-modal-inner .fsr-btn {width: 100%;margin-top: 15px; padding: 10px 12px; border-radius: 8px; font-weight: 700;background: #000;transition: background 0.2s;}
.fsr-modal-inner .fsr-btn:hover {background: #333;}

/* STAR RATING INPUT */
#fsr-rating-select {display: none !important;}
.fsr-rating-input {display: flex;flex-direction: row-reverse; justify-content: flex-end;margin-bottom: 0; }
.fsr-rating-input input {display: none;}
.fsr-rating-input label {cursor: pointer;width: 28px; height: 28px;line-height: 28px;font-size: 28px;color: #dcdcdc; text-align: center;transition: color 0.15s;margin: 0; }
.fsr-rating-input label:hover,.fsr-rating-input label:hover ~ label {color: #ffb33e; }
.fsr-rating-input input:checked ~ label {color: #ffb33e;}

/* FILE UPLOAD */
.fsr-file-upload-wrapper {display: flex;align-items: center;border: 1px solid #e0e0e0; border-radius: 8px; padding: 5px; margin-bottom: 10px; transition: border-color 0.2s;}
.fsr-modal-inner input[type="file"]:focus + .fsr-file-upload-wrapper, .fsr-file-upload-wrapper:focus-within { border-color: #1664e8;}
.fsr-file-upload-wrapper input[type="file"] {display: none; }
.fsr-custom-file-btn {background: #f0f0f0; color: #333;padding: 6px 12px; border-radius: 6px;cursor: pointer;font-size: 13px; font-weight: 600;transition: background 0.2s, color 0.2s;border: 1px solid #dcdcdc; line-height: 1.2;}
.fsr-custom-file-btn:hover {background: #e0e0e0;color: #000;}
.fsr-file-name {margin-left: 8px; font-size: 13px; color: #555;white-space: nowrap;overflow: hidden;text-overflow: ellipsis; }

/* THANK YOU & VISIBILITY */
#fsr-form, #fsr-thank-you { display: none; }
#fsr-form.active, #fsr-thank-you.active { display: block; }
#fsr-thank-you {text-align: center;padding: 40px 15px; }
#fsr-thank-you h3 {color: #000;border-bottom: none;padding-bottom: 0;margin-bottom: 15px;font-size: 24px; }
#fsr-thank-you p {font-size: 15px; color: #555;}

/* Filters Area */
.fsr-filters-area {display: flex;gap: 20px;align-items: center;margin-top: 15px;margin-bottom: 20px;flex-wrap: wrap;}
.fsr-search-container {flex: 1; min-width: 250px;max-width: 400px;}
.fsr-search-wrapper {display: flex;border: 1px solid #c5c5c5;border-radius: 4px;overflow: hidden;height: 40px;}
.fsr-search-container input[type="search"] {flex-grow: 1;padding: 10px;border: none;box-shadow: none;box-sizing: border-box;font-size: 14px;}
.fsr-search-btn {background: #000;color: #fff;border: none;padding: 0 15px;cursor: pointer;font-size: 16px;line-height: 0px;height: 40px;transition: background 0.3s ease;}
.fsr-search-btn:hover, .fsr-search-btn:focus, .fsr-search-btn:active {background: #000 !important;color: #fff !important;}
.fsr-sort-container {display: flex;align-items: center;gap: 8px;font-size: 14px;}
.fsr-sort-label {font-weight: 600;color: #444;}
.fsr-sort-container select {-webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: #fff;border: 1px solid #c5c5c5; border-radius: 8px; padding: 10px 15px; height: auto; min-width: 150px;cursor: pointer;font-size: 14px;color: #222; line-height: 1.2;outline: none;transition: all 0.2s ease; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23444' d='M7%2c10l5%2c5l5%2d5H7z'/%3e%3c/svg%3e");background-repeat: no-repeat;background-position: right 10px center; background-size: 16px; padding-right: 35px; }
.fsr-sort-container select:hover {border-color: #888;}
.fsr-sort-container select:focus {border-color: #1664e8; box-shadow: 0 0 0 1px #1664e8; }
.fsr-sort-container select::-ms-expand {display: none;}

/* ERROR STYLING */
.fsr-error-message {color: #D8000C; font-size: 13px;margin-top: 5px;min-height: 1em; }
.fsr-modal-inner textarea.fsr-has-error {border-color: #D8000C;box-shadow: 0 0 0 1px #D8000C;}
.fsr-rating-input.fsr-has-error {outline: 1px solid #D8000C;border-radius: 4px;}

/* Responsive */
@media(max-width:800px){
    .fsr-top{flex-direction:column}
    .fsr-controls-right{width:100%; order: -1;}
    .fsr-summary{width:100%; order: 1;}
    .fsr-filters-area { order: 2; width: 100%; gap: 10px; }
    .fsr-reviews-area{padding:0 0px}
    .fsr-search-container { max-width: 100%; }
}
@media (max-width: 767px) {
  .fsr-card {display: flex;flex-direction: column !important;align-items: flex-start !important;width: 100% !important;max-width: 100% !important;height: auto !important;box-sizing: border-box;overflow: hidden;padding: 14px !important;gap: 5px !important;}
  .fsr-avatar {width: 45px !important;height: 45px !important;flex: 0 0 auto !important;margin-bottom: 8px;}
  .fsr-content {display: block !important;width: 100% !important;max-width: 100% !important;height: auto !important;overflow: visible !important;word-wrap: break-word !important;white-space: normal !important;box-sizing: border-box;}
  .fsr-content * {max-width: 100% !important;white-space: normal !important;word-break: break-word !important;}
  .fsr-content p, .fsr-content span, .fsr-content div {margin-bottom: 5px !important;}
}
/* hide default comments */
.woocommerce-tabs .comments-area{display:none !important}