.review-shop-summary{padding-bottom:24px}
.review-summary-link{display:flex;width:100%;align-items:center;gap:24px;padding:20px 4px 24px;border-bottom:1px solid var(--line);text-align:left}
.review-summary-value{display:flex;min-width:100px;flex-direction:column;align-items:center;gap:6px}
.review-summary-value>strong{font-size:40px;line-height:1.15;color:var(--green);letter-spacing:-1px}
.review-summary-value>strong:only-child{font-size:22px}
.review-summary-copy{display:flex;flex-direction:column;gap:7px}
.review-summary-copy b{font-size:14px}.review-summary-copy>span{font-size:12px;color:var(--gray)}.review-summary-copy .review-summary-more{color:var(--green);font-weight:600}
.review-stars{display:inline-block;position:relative;flex:none;font-size:13px;line-height:18px;letter-spacing:2px;white-space:nowrap}
.review-stars-base{color:#e3e6e1}.review-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:#edaa39}
.review-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 12px}.review-section-heading h2{margin:0;font-size:16px;line-height:1.4}.review-section-heading>span{font-size:11px;color:var(--gray)}
.review-rated-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.review-dish-link{display:flex;flex:1;min-width:0;align-items:center;gap:10px;padding:0;text-align:left}.review-dish-copy{flex:1;min-width:0}.review-dish-link h3{margin:0 0 6px;font-size:14px;line-height:1.35;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.review-dish-meta{display:flex;align-items:center;gap:8px;line-height:1.3}.review-dish-meta>strong{font-size:15px;color:var(--green);font-weight:700}.review-dish-meta>span{font-size:11px;color:var(--gray);white-space:nowrap}.review-dish-photo{display:flex;width:48px;height:48px;flex:none;overflow:hidden;border-radius:10px;background:#f0f4ee}.review-dish-photo>img{display:block;width:100%;height:100%;object-fit:cover}.review-dish-no-photo,.review-dish-photo>.catalog-no-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#96aa91}.review-dish-no-photo>svg,.review-dish-photo .catalog-no-photo>.icon{width:23px;height:23px}.review-dish-photo .catalog-no-photo small{display:none}.review-book-button{flex:none;min-width:60px;min-height:34px;padding:8px 10px;border-radius:9px;background:#e9f3e9;color:var(--green);font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}.review-inline-empty{padding:32px 0;text-align:center;color:var(--gray);font-size:13px}
.review-detail-page{height:100%;display:flex;flex-direction:column;background:#fff;overflow:hidden;position:relative}.review-detail-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior-y:contain;padding:0 16px 28px;scrollbar-width:none}.review-detail-scroll::-webkit-scrollbar{display:none}
.review-entity{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.review-entity-copy{flex:1;min-width:0}.review-entity h2{margin:0;font-size:17px;line-height:1.4;overflow-wrap:anywhere}.review-entity-copy h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.review-entity p{margin:6px 0 0;font-size:11px;line-height:1.6;color:var(--gray);overflow-wrap:anywhere}.review-entity-photo{width:64px;height:64px;border-radius:14px;overflow:hidden;flex:none;background:#f0f4ee}.review-entity-photo>img,.review-entity-photo>.catalog-no-photo{display:block;width:100%;height:100%;object-fit:cover}.review-entity-photo>.catalog-no-photo{display:flex}.review-entity-photo .catalog-no-photo small{font-size:9px}
.review-detail-summary{display:flex;align-items:center;gap:24px;padding:24px 0}.review-detail-score{min-width:102px;display:flex;align-items:center;flex-direction:column;gap:4px}.review-detail-score>strong{font-size:44px;letter-spacing:-1.5px;font-weight:800;color:var(--green);line-height:1.1}.review-detail-score>strong.is-unrated{font-size:20px;letter-spacing:0}.review-detail-score p{margin:6px 0 0;font-size:11px;color:var(--gray)}.review-score-breakdown{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.review-score-row{display:flex;align-items:center;gap:7px;font-size:9px;line-height:1.2;color:var(--gray)}.review-score-row>span{width:43px;flex:none;white-space:nowrap}.review-score-row>small{width:26px;text-align:right;flex:none;font-size:9px}.review-score-track{height:5px;flex:1;background:#eef2ec;overflow:hidden;border-radius:5px}.review-score-track>i{display:block;height:100%;border-radius:5px;background:#76a58b}
.review-dish-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 0 18px;scrollbar-width:none}.review-dish-scroll::-webkit-scrollbar{display:none}.review-dish-scroll>button{display:flex;gap:10px;align-items:center;flex:none;padding:10px 12px;background:#f1f6f0;border-radius:10px;max-width:250px;font-size:11px;min-height:40px}.review-dish-scroll b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:160px}.review-dish-scroll span{flex:none;color:var(--green)}
.review-comments-section{border-top:1px solid var(--line)}.review-filters{display:flex;gap:8px;margin-bottom:4px}.review-filters>button{min-height:36px;min-width:58px;padding:8px 16px;border-radius:9px;background:#f4f5f1;color:var(--gray);font-size:12px}.review-filters>button.active{background:#e9f3e9;color:var(--green);font-weight:700}
.review-comment{padding:20px 0;border-bottom:1px solid var(--line)}.review-comment-head{display:flex;align-items:center;gap:9px}.review-avatar{width:34px;height:34px;flex:none;border-radius:50%;overflow:hidden;background:#e9f3e9;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.review-avatar>img{width:100%;height:100%;object-fit:cover}.review-author{display:flex;flex:1;flex-direction:column;min-width:0;gap:5px}.review-author>b{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-author>time{font-size:10px;color:var(--gray)}.review-comment-head>.review-stars{font-size:11px;letter-spacing:1px}.review-comment-dish{display:inline-block;max-width:100%;padding:5px 9px;margin:12px 0 0;border-radius:6px;background:#f0f5ed;color:var(--green);font-size:11px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-comment-content{margin:12px 0 0;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}.review-comment-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.review-comment-photos>button{aspect-ratio:1;border-radius:9px;overflow:hidden;background:#f0f4ed}.review-comment-photos img{display:block;width:100%;height:100%;object-fit:cover}
.review-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:16px;padding:24px 12px;color:var(--gray);font-size:13px}.review-state p{margin:0}.review-loading-dot{width:24px;height:24px;border:2px solid #e5eee4;border-top-color:var(--green);border-radius:50%;animation:review-spin .8s linear infinite}.review-empty-symbol{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#f3f6ef;color:#8aab94;border-radius:18px}.review-empty-symbol>.icon{width:24px;height:24px}.review-retry,.review-load-more{padding:10px 18px;border:1px solid #d6e4d7;color:var(--green);border-radius:9px;font-size:12px}.review-load-more{display:block;margin:20px auto 0;min-height:40px}.review-load-more:disabled{opacity:.6}
.review-lightbox{position:absolute;inset:0;z-index:100;background:rgba(10,18,13,.96);display:flex;align-items:center;justify-content:center;padding:56px 12px 24px}.review-lightbox>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.review-photo-close{position:absolute;right:12px;top:max(12px,env(safe-area-inset-top));color:white;font-size:30px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1)}
@keyframes review-spin{to{transform:rotate(360deg)}}
@media(max-width:365px){.review-detail-summary{gap:12px}.review-detail-score{min-width:94px}.review-detail-score>strong{font-size:39px}.review-score-row{gap:5px}.review-summary-link{gap:16px}.review-summary-value>strong{font-size:36px}.review-entity h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.review-loading-dot{animation:none}}

@media(hover:hover) and (pointer:fine){.review-detail-scroll,.review-dish-scroll{scrollbar-width:thin;scrollbar-color:#c9d5c5 transparent}.review-detail-scroll::-webkit-scrollbar,.review-dish-scroll::-webkit-scrollbar{display:block;width:5px;height:5px}.review-detail-scroll::-webkit-scrollbar-thumb,.review-dish-scroll::-webkit-scrollbar-thumb{background:#c9d5c5;border-radius:5px}}
