
/* 评论数展示与收藏 start */
.block-rating {
    width: 1140px;
    margin: 0 auto;
    margin-top: 20px;
    background-color: #fff;
    padding: 15px 10px;
    box-sizing: border-box;
}
.ticket-rating {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #666;
    justify-content: space-between;
}

.ticket-rating .rating-data {
    display: flex;
    align-items: center;
}

.ticket-rating .rating-data .rating-star {
    display: flex;
    align-items: center;
    color: #fea55a;
    margin-right: 10px;
    font-weight: bold;
}

.ticket-rating .rating-data .rating-star .star-icon {
    width: 20px;
    height: 20px;
    margin-right: 3px;
    vertical-align: middle;
}

.ticket-rating .rating-data .rating-count {
    color: #666;
}

.ticket-rating .rating-data .dot-separator {
    display: inline-block;
    margin: 0 8px;
    color: #999;
    font-size: 14px;
    vertical-align: middle;
}

.ticket-rating .rating-data .visitor-count {
    margin-right: 10px;
}

.ticket-rating .add-to-favorite {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.ticket-rating .add-to-favorite:hover {
    color: #fea55a;
}

.ticket-rating .add-to-favorite .favorite-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('/imgs/info-collect.png') no-repeat;
    background-size: contain;
    margin-right: 5px;
}

.ticket-rating .add-to-favorite:hover .favorite-icon {
    background-image: url('/imgs/info-collect-active.png');
}

/* 已收藏状态 */
.ticket-rating .add-to-favorite.active .favorite-icon {
    background-image: url('/imgs/info-collect-active.png');
}

.ticket-rating .add-to-favorite.active span {
    color: #ff6600;
}

/* 评价数量链接样式 */
.rating-count-link {
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
    transition: color 0.3s ease;
}

.rating-count-link:hover {
    color: #ff6600;
    text-decoration: underline;
}

/* 内容折叠 和 折叠按钮 start */
.content-wrapper {
    position: relative;
    max-height: 700px;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.content-wrapper.expanded {
    max-height: none;
}

.content-expand-btn {
    /* display: none; */
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: right;
    padding: 15px 0;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 40%, rgba(255,255,255,1) 70%);
}

.expand-button-wrapper {
    display: inline-block;
    margin-right: 10px; 
    background-color: #ff6600;
    color: white;
    padding: 8px 15px;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    transition: all 0.3s ease;
    cursor: pointer;
}

.expand-button-wrapper:hover {
    background-color: #e55c00;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.content-expand-btn .expand-text,
.content-expand-btn .collapse-text {
    display: inline-block;
    color: white;
    font-weight: bold;
}

.content-expand-btn .collapse-text {
    display: none;
}

.content-wrapper.expanded .expand-text {
    display: none;
}

.content-wrapper.expanded .collapse-text {
    display: inline-block;
}

.expand-icon {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 5px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
    transform: rotate(45deg);
    transition: transform 0.3s;
}

.content-wrapper.expanded .expand-icon {
    transform: rotate(-135deg);
}

.expand-jiange {
    height: 30px;
}
/* 内容折叠 和 折叠按钮 end */

/* 评论列表样式 */
#comment-anchor-point {
    display: block;
    height: 80px;
    margin-top: -80px;
    visibility: hidden;
}
.comment-section {
    width: 820px;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin-top: 20px;
    background-color: #fff;
    position: relative;
}

.rating-header {
    font-family: PingFangSC-Medium;
    font-size: 20px;
    color: #333;
    line-height: 20px;
    font-weight: 700;
}

.averageScoreBox {
    margin-top: 23px;
    font-family: PingFangSC-Regular;
    font-size: 14px;
    color: #333;
    line-height: 20px;
}

.averageScoreBox .averageScore {
    font-size: 24px;
    color: #FF923F;
    letter-spacing: 0;
    line-height: 24px;
}

.hotTags {
    margin-top: 14px;
    padding: 20px 20px;
    background: #f8fafd;
    display: flex;
    flex-wrap: wrap;
}

.hotTags .hotTag {
    font-family: PingFangSC-Regular;
    font-size: 14px;
    color: #666;
    cursor: pointer;
}

.hotTags .hotTag:not(:last-child) {
    margin-right: 20px;
}

.hotTags .hotTag:hover,.hotTag.current {
    color: #FF923F;
}

.sortList {
    text-align: right;
    margin-top: 20px;
}

.sortList .sortTag {
    font-family: PingFangSC-Regular;
    font-size: 14px;
    color: #666;
    line-height: 20px;
    position: relative;
    cursor: pointer;
}

.sortList .sortTag:not(:last-child) {
    margin-right: 10px;
    padding-right: 10px;
}

.sortList .sortTag:not(:last-child):after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    background: #ccd6e5;
    top: 3px;
    right: 0;
}

.sortList .sortTag:hover,.sortTag.current {
    color: #FF923F;
}

.commentButton {
    position: absolute;
    right: 20px;
    top: 0;
    border: 1px solid #ccd6e5;
    border-radius: 2px;
    font-size: 14px;
    color: #FF923F;
    padding: 5px 12px;
    display: flex;
    cursor: pointer;
    align-items: center;
    margin-top: 16px;
}

.commentButton:hover {
    border: 1px solid #FF923F;
}

.commentButton .editIcon{
    height: 17px;
    margin-right: 5px;
}

.commentItem {
    display: flex;
    flex-direction: row;
    margin: 8px 0 16px
}

.commentItem .userInfo {
    width: 70px;
    flex: 0 0 70px;
    margin-right: 20px
}

.commentItem .userInfo .userImgBox {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin: 0 auto
}

.commentItem .userInfo .userImgBox .userImg {
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.commentItem .userInfo .userImgBox .me {
    height: 16px;
    font-size: 12px;
    line-height: 16px;
    width: 100%;
    text-align: center;
    background: #2681ff;
    color: #fff;
    position: absolute;
    z-index: 1;
    bottom: 0
}

.commentItem .userInfo .userName {
    font-family: PingFangSC-Medium;
    font-size: 14px;
    color: #222;
    line-height: 14px;
    margin-top: 8px;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.commentItem .contentInfo {
    flex: 1;
    border-bottom: 1px solid #eef1f6;
    padding-top: 16px;
    padding-bottom: 20px;
    position: relative
}

.commentItem .contentInfo .scroreInfo {
    font-family: PingFangSC-Regular;
    font-size: 12px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}

.commentItem .contentInfo .scroreInfo .averageScore {
    color: #462003;
    padding: 2px 5px 2px 0;
    border-radius: 28px;
    background: #fff2bf;
    line-height: 20px
}

.commentItem .contentInfo .scroreInfo .rating-detail {
    margin-left: 10px;
    display: flex;
    gap: 10px;
}

.commentItem .contentInfo .scroreInfo .scoreIcon {
    width: 20px;
    height: 20px;
    vertical-align: top;
    margin-right: 3px;
}

.commentItem .contentInfo .scroreInfo .featureList {
    margin-left: 12px;
    color: #666;
    line-height: 16px
}

.commentItem .contentInfo .scroreInfo .featureList .featureScore {
    margin-right: 10px
}

.commentItem .contentInfo .comment-img {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap
}

.commentItem .contentInfo .comment-img a {
    width: 120px;
    height: 120px;
    margin-right: 12px;
    margin-bottom: 12px
}

.commentItem .contentInfo .comment-img a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.commentItem .contentInfo .commentFooter {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    height: 20px
}

.commentItem .contentInfo .commentFooter .commentTime {
    font-family: PingFangSC-Regular;
    font-size: 12px;
    color: #999
}

.commentItem .contentInfo .commentFooter .ipContent {
    margin-left: 8px
}

.commentItem .contentInfo .commentFooter .toolsBox{
    display: flex;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem {
    font-size: 12px;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem:not(:last-child) {
    margin-right: 18px;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem .votedIcon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/imgs/comment-likes.png') no-repeat;
    background-size: 18px 18px;
    background-position: center;
    margin-right: 6px;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem .votedIcon:hover,
.commentItem .contentInfo .commentFooter .toolsBox .toolsItem .votedIcon.active {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/imgs/comment-likes-active.png') no-repeat;
    background-size: 18px 18px;
    background-position: center;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem.reportItem {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.commentItem .contentInfo:hover .commentFooter .toolsBox .reportItem {
    visibility: visible;
    opacity: 1;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem .reportIcon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/imgs/comment-report.png') no-repeat;
    background-size: 18px 18px;
    background-position: center;
    margin-right: 8px;
}

.commentItem .contentInfo .commentFooter .toolsBox .toolsItem .reportIcon.active {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/imgs/comment-report-active.png') no-repeat;
    background-size: 18px 18px;
    background-position: center;
    margin-right: 8px;
}

.commentItem .commentDetail {
    word-break: break-word
}

.no-comment{
    text-align: center;
}

.my-comment-list {
    background-color: #fbfbfb;
}
.my-comment-list .toolsBox {
    font-size: 13px;
    color: #6da7f4;
}

/* 分页样式 */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.pagination a {
    padding: 5px 10px;
    margin: 0 5px;
    color: #666;
    text-decoration: none;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
}

.pagination a.active {
    background: #FF923F;
    color: white;
    border-color: #FF923F;
}

.page-jump {
    margin-left: 15px;
}

.page-input {
    width: 50px;
    margin: 0 5px;
    padding: 4px;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
}

.confirm {
    background: #FF923F;
    color: white;
    border: none;
    padding: 5px 15px;
    border-radius: 2px;
    cursor: pointer;
}

/* 评论样式 */
.review-container {
    width: 820px;
    padding: 20px;
    margin-top: 20px;
    background-color: #fff;
}

.review-container .login-notice {
    height: 28px;
    color: #666;
    border: 1px solid #fde69f;
    background: #fef2cf;
    font-size: 13px;
    padding: 5px 10px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.review-container .login-notice a{
    color: #00a7e1;
    text-decoration: none;
}

.review-item {
    display: flex;
    margin-bottom: 20px;
}

.review-item .item-title {
    width: 90px;
    color: #666;
    font-size: 14px;
}

.review-item .item-content {
    flex: 1;
}

/***** 星级 - start *****/
.review-item .item-content .overall-rating{
    display: flex;
    flex-wrap: wrap;
}

.review-item .item-content .overall-rating .stars-list {
    width: 165px;
    height: 35px;
    overflow: hidden;
    margin-right: 15px;
    border: 1px solid #c7d9eb;
    padding: 5px 10px;
}

.review-item .item-content .overall-rating .stars-list .star {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(/imgs/comment-star.png) no-repeat;
    background-position: center;
    background-size: 24px 24px;
    cursor: pointer;
}

.review-item .item-content .overall-rating .stars-list .star.active {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(/imgs/comment-star-select.png) no-repeat;
    background-position: center;
    background-size: 24px 24px;
    cursor: pointer;
}

.review-item .item-content .overall-rating .star-tips {
    line-height: 35px;
    color: #999;
    font-size: 14px;
}

.review-item .item-content .type-rating {
    width: 250px;
    height: 84px;
    padding: 12px 16px;
    overflow: hidden;
    color: #666;
    background: #f4f4f4;
    font-size: 13px;
}

.review-item .item-content .type-rating .rating-item{
    display: flex;
}

.review-item .item-content .type-rating .stars-list .star {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url(/imgs/comment-star.png) no-repeat;
    background-position: center;
    background-size: 18px 18px;
    cursor: pointer;
}

.review-item .item-content .type-rating .stars-list .star.active {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url(/imgs/comment-star-select.png) no-repeat;
    background-position: center;
    background-size: 18px 18px;
    cursor: pointer;
}

.review-item .item-content .type-rating .star-tips {
    margin-left: 30px;
}
/***** 星级 - end *****/

.review-item .item-content .upload-box {
    width: 100%;
    margin-top: 5px;
    border: 1px solid #ccc;
    margin-bottom: 10px;
    background: #f4f4f4;
}

.review-item .item-content .upload-box textarea {
    width: 100%;
    padding: 5px 5px 5px 9px;
    font-size: 14px;
    resize: none;
    font-family: Microsoft YaHei, Hiragino Sans GB;
    border: none 0;
    height: 140px;
    box-sizing: border-box;
    border: 1px solid transparent;
}

.review-item .item-content .upload-box textarea:focus {
    border: 1px solid #0054c5;
}

.review-item .item-content .upload-box .upload-image {
    margin: 10px 0;
    padding: 0 10px;
}

.review-item .item-content .upload-box .upload-image .add-image {
    cursor: pointer;
    margin-right: 20px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.review-item .item-content .upload-box .upload-image .image-tip {
    font-size: 13px;
}

.review-item .item-content .word-count {
    text-align: right;
    color: #666;
    margin-top: 10px;
    font-size: 14px;
}

/* 图片预览容器样式 */
.image-preview-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px;
}

/* 单个图片预览样式 */
.image-preview-container .image-preview {
    position: relative;
    width: 100px;
    height: 100px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.image-preview-container .image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 删除按钮样式 */
.image-preview-container .image-preview .image-delete {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
}

.image-preview-container .image-preview .image-delete:hover {
    background-color: rgba(255, 0, 0, 0.7);
}

/**** 出游类型 - start ****/
.review-item .item-content .type-options {
    display: flex;
    flex-wrap: wrap;
}

.review-item .item-content .type-options .type-item {
    width: 98px;
    height: 90px;
    color: #5a5a5a;
    text-align: center;
    font-size: 14px;
    position: relative;
    cursor: pointer;
    font-family: Microsoft YaHei, Hiragino Sans GB;
    border: 1px solid #d9ebf8;
    margin-right: 10px;
}

.review-item .item-content .type-options .type-item:hover {
    border: 1px solid #1d71e1;
}

.review-item .item-content .type-options .type-item.selected {
    border: 1px solid #1d71e1;
}

.review-item .item-content .type-options .type-item.selected s {
    width: 13px;
    height: 13px;
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(/imgs/comment.png) no-repeat -71px -71px;
}

.review-item .item-content .type-options .type-item .icon {
    width: 39px;
    height: 45px;
    overflow: hidden;
    background: url(/imgs/comment.png) no-repeat;
    display: inline-block;
    margin: 8px 29px 0 29px;
}

.review-item .item-content .type-options .type-item .icon-business {
    background-position: -110px -130px;
}

.review-item .item-content .type-options .type-item .icon-friends {
    background-position: -150px -130px;
}

.review-item .item-content .type-options .type-item .icon-couple {
    background-position: -190px -130px;
}

.review-item .item-content .type-options .type-item .icon-family {
    background-position: -230px -130px;
}

.review-item .item-content .type-options .type-item .icon-single {
    background-position: -270px -130px;
}

.review-item .item-content .type-options .type-item .icon-other {
    width: 45px;
    height: 45px;
    overflow: hidden;
    background: url(/imgs/comment-type-other.png) no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block;
    margin: 8px 23px 0 23px;
}

.review-item .item-content .type-options .type-item .icon-desc {
    margin-bottom: 10px;
}

/**** 出游类型 - end ****/

/**** 游玩时间 - start ****/
.review-item .item-content .play-select {
    width: 80px;
    height: 27px;
    padding: 0 5px;
    margin-right: 10px;
    border: 1px solid #bbb;
    color: #666;
}

.review-item .item-content .duration-input {
    padding: 5px;
    border: 1px solid #ddd;
    margin-right: 10px;
    width: 68px;
}

.review-item .item-content .duration-input:focus {
    border: 1px solid #0054c5;
}

.review-item .item-content .submit-review {
    background-color: #ff6a00;
    color: white;
    border: none;
    padding: 10px 30px;
    cursor: pointer;
    border-radius: 3px;
    font-size: 15px;
}

.review-item .item-content .submit-review:hover {
    background-color: #ff5500;
}
/**** 游玩时间 - end ****/

/* 举报弹窗 */
.report_tip textarea {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    line-height: 1.5;
    resize: none;
}

.report_tip textarea::placeholder {
    color: #999;
    line-height: 1.5;
}

/* 收藏按钮禁用状态样式 */
#favoriteBtn.disabled {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

/* 收藏按钮加载中转圈样式 */
.loading-spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #ff6b00;
    animation: spin 0.8s linear infinite;
    vertical-align: middle;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 点赞按钮禁用状态样式 */
.onlikes.disabled {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

/* 点赞按钮加载中转圈样式 */
.onlikes {
    position: relative; /* 确保父元素是相对定位 */
}

.like-loading {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 107, 0, 0.3);
    border-radius: 50%;
    border-top-color: #ff6b00;
    animation: spin 0.8s linear infinite;
    position: absolute;
    right: -18px;
    top: 15%;
    transform: translateY(-50%);
}

.comment-loading {
    text-align: center;
    margin: 40px 0;
}

.comment-tips {
    text-align: left;
    color: #333;
}