/* ALBUM REVIEWS V1 */
.album-reviews[hidden]{display:none!important}
.album-about[hidden] + .album-reviews{grid-row:2}

.album-reviews{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  grid-column:1/3;
  grid-row:3;
  min-width:0;
  padding:16px 17px 10px;
  border:1px solid var(--groovy-line);
  border-radius:10px;
  background:linear-gradient(180deg,#121214 0%,#0f0f11 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}

.album-reviews-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:34px;
  margin-bottom:8px;
}
.album-reviews-title-wrap{display:flex;min-width:0;flex-direction:column;gap:2px}
.album-reviews-kicker{
  color:#6f6f76;
  font-size:7px;
  font-weight:850;
  letter-spacing:.14em;
  line-height:1;
}
.album-reviews-heading h2{
  margin:0;
  color:#f5f5f6;
  font-size:17px;
  font-weight:760;
  letter-spacing:-.015em;
}
.album-reviews-heading h2 span{color:#74747a;font-size:12px;font-weight:650}

.album-review-write{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(255,100,24,.7);
  border-radius:999px;
  background:rgba(255,100,24,.045);
  color:#ff6b20;
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.album-review-write svg{
  width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.album-review-write:hover{border-color:#ff6a1a;background:rgba(255,100,24,.11);color:#ff7b38}
.album-review-write:active{transform:scale(.97)}

.album-review-list{display:flex;flex-direction:column}
.album-review{
  position:relative;
  display:grid;
  grid-template-columns:minmax(150px,1.02fr) minmax(108px,.72fr) minmax(220px,2.4fr) 48px 30px;
  gap:13px;
  align-items:start;
  min-width:0;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.065);
}
.album-review:first-child{border-top:0}

.album-review-author-button{
  display:flex;
  min-width:0;
  align-items:center;
  gap:9px;
  width:100%;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.album-review-avatar{
  width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.11);border-radius:50%;background:#25252a center/cover no-repeat;
}
.album-review-avatar .groovy-initial-avatar-letter{font-size:12px}
.album-review-author-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.album-review-author-copy strong{
  overflow:hidden;color:#f2f2f4;font-size:10px;font-weight:760;line-height:1.1;text-overflow:ellipsis;white-space:nowrap
}
.album-review-author-copy small{
  overflow:hidden;color:#717178;font-size:8px;font-weight:560;line-height:1.1;text-overflow:ellipsis;white-space:nowrap
}
.album-review-author-button:hover strong{color:#ff762e}

.album-review-rating{padding-top:7px;white-space:nowrap}
.review-stars{display:inline-flex;gap:1px;color:#49494e;font-size:17px;letter-spacing:0;line-height:1}
.review-stars .filled{color:#ff6500}
.review-stars .empty{color:#3f3f44}

.album-review-copy{min-width:0;padding-top:2px}
.album-review-body{overflow:hidden;color:#c4c4c9;font-size:10px;line-height:1.48}
.album-review-body p{margin:0}
.album-review-body.is-collapsible:not(.expanded){
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.album-review-expand{
  margin:4px 0 0;padding:0;border:0;background:none;color:#8d8d94;font:inherit;font-size:8px;font-weight:700;cursor:pointer
}
.album-review-expand:hover{color:#ff6d24}

.album-review-social{display:flex;justify-content:flex-end;padding-top:5px}
.album-review-like{
  display:inline-flex;
  min-width:36px;
  height:27px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 5px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#8e8e95;
  font:inherit;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.album-review-like svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.album-review-like:hover:not(:disabled){background:rgba(255,255,255,.045);color:#fff}
.album-review-like.liked{color:#ff6b20}
.album-review-like.liked svg{fill:rgba(255,101,20,.2)}
.album-review-like:disabled{cursor:default;opacity:.55}

.album-review-actions{position:relative;display:flex;justify-content:flex-end;padding-top:3px}
.album-review-more{
  display:flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;border:0;border-radius:7px;background:transparent;color:#818187;cursor:pointer
}
.album-review-more svg{width:17px;height:17px;fill:currentColor}
.album-review-more:hover,.album-review-more[aria-expanded="true"]{background:rgba(255,255,255,.06);color:#fff}
.album-review-menu{
  position:absolute;
  z-index:30;
  right:0;
  top:31px;
  min-width:116px;
  padding:5px;
  border:1px solid #323237;
  border-radius:8px;
  background:#18181b;
  box-shadow:0 12px 34px rgba(0,0,0,.48);
}
.album-review-menu[hidden]{display:none!important}
.album-review-menu button{
  display:block;width:100%;padding:7px 8px;border:0;border-radius:5px;background:none;color:#d3d3d7;font:inherit;font-size:9px;text-align:left;cursor:pointer
}
.album-review-menu button:hover{background:#252529;color:#fff}
.album-review-menu button.danger{color:#e58f8f}
.album-review-menu button.danger:hover{background:rgba(181,62,62,.14);color:#ffaaaa}

.album-reviews-more{
  display:flex;width:100%;align-items:center;justify-content:center;margin:5px 0 0;padding:9px;border:0;border-top:1px solid rgba(255,255,255,.06);background:none;color:#85858c;font:inherit;font-size:9px;font-weight:700;cursor:pointer
}
.album-reviews-more:hover{color:#ff6b20}
.album-reviews-empty,.album-reviews-error{
  display:flex;min-height:76px;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:12px 2px 9px;border-top:1px solid rgba(255,255,255,.06);color:#77777e
}
.album-reviews-empty strong{color:#c8c8cc;font-size:11px}
.album-reviews-empty span,.album-reviews-error{font-size:9px;line-height:1.5}

.album-reviews-loading{display:flex;flex-direction:column;gap:7px;padding:12px 0 9px;border-top:1px solid rgba(255,255,255,.06)}
.album-reviews-loading span{
  display:block;height:12px;border-radius:5px;background:linear-gradient(90deg,#18181b 25%,#242428 50%,#18181b 75%);background-size:200% 100%;animation:album-review-shimmer 1.25s linear infinite
}
.album-reviews-loading span:nth-child(1){width:82%}.album-reviews-loading span:nth-child(2){width:94%}.album-reviews-loading span:nth-child(3){width:68%}
@keyframes album-review-shimmer{to{background-position:-200% 0}}

/* Review editor */
.album-review-editor{display:none;position:fixed;z-index:2200;inset:0;align-items:center;justify-content:center;padding:22px}
.album-review-editor.open{display:flex}
.album-review-editor-backdrop{position:absolute;inset:0;background:rgba(4,4,5,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.album-review-editor-panel{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:calc(100dvh - 44px);
  overflow:auto;
  padding:27px;
  border:1px solid #343439;
  border-radius:14px;
  background:linear-gradient(155deg,#1a1a1d,#111113 72%);
  box-shadow:0 28px 80px rgba(0,0,0,.68);
}
.album-review-editor-close{
  position:absolute;right:14px;top:14px;display:flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid #343439;border-radius:50%;background:#202023;color:#929299;font-size:22px;line-height:1;cursor:pointer
}
.album-review-editor-close:hover{background:#29292d;color:#fff}
.album-review-editor-heading{padding-right:42px}
.album-review-editor-heading>span{color:#ff681e;font-size:8px;font-weight:850;letter-spacing:.14em}
.album-review-editor-heading h2{margin:5px 0 5px;color:#fff;font-size:25px;font-weight:780;letter-spacing:-.035em}
.album-review-editor-heading p{margin:0;color:#8d8d94;font-size:11px;line-height:1.5}
.album-review-editor-rating{display:flex;gap:4px;margin:20px 0 17px}
.album-review-editor-rating button{
  width:31px;height:31px;padding:0;border:0;background:none;color:#414146;font:inherit;font-family:Arial,sans-serif;font-size:30px;line-height:1;cursor:pointer;transition:color .1s ease,transform .1s ease
}
.album-review-editor-rating button:hover{transform:scale(1.08)}
.album-review-editor-rating button.selected{color:#ff6500}
.album-review-editor-field{display:block}
.album-review-editor-field>span{display:block;margin:0 0 7px;color:#b4b4ba;font-size:10px;font-weight:700}
.album-review-editor-field textarea{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-height:150px;
  resize:vertical;
  padding:13px 14px;
  border:1px solid #333338;
  border-radius:9px;
  outline:none;
  background:#0d0d0f;
  color:#eeeef0;
  font:inherit;
  font-size:12px;
  line-height:1.55;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.album-review-editor-field textarea::placeholder{color:#5f5f66}
.album-review-editor-field textarea:focus{border-color:rgba(255,101,20,.72);box-shadow:0 0 0 3px rgba(255,101,20,.1)}
.album-review-editor-meta{display:flex;min-height:23px;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px 0;color:#66666d;font-size:8px}
.album-review-editor-meta [data-review-editor-status]{color:#df8383}
.album-review-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.album-review-editor-actions button{
  min-height:38px;padding:0 14px;border-radius:8px;font:inherit;font-size:10px;font-weight:750;cursor:pointer
}
.album-review-editor-cancel{border:1px solid #35353a;background:#171719;color:#a8a8ae}
.album-review-editor-cancel:hover{background:#202023;color:#fff}
.album-review-editor-save{border:1px solid #ff6500;background:#e85301;color:#fff}
.album-review-editor-save:hover:not(:disabled){background:#f26416}
.album-review-editor-save:disabled{border-color:#38383d;background:#202023;color:#66666c;cursor:not-allowed}

.album-review-delete-dialog{
  position:fixed;
  z-index:10120;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,visibility 0s linear .2s;
}
.album-review-delete-dialog.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:opacity .18s ease,visibility 0s;
}
.album-review-delete-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,3,4,.84);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.album-review-delete-panel{
  position:relative;
  width:min(430px,100%);
  padding:24px;
  border:1px solid #343439;
  border-radius:16px;
  background:linear-gradient(155deg,#1a1a1d,#101012 74%);
  box-shadow:0 28px 80px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.035);
  transform:translateY(8px) scale(.985);
  transition:transform .2s cubic-bezier(.2,.8,.2,1);
}
.album-review-delete-dialog.open .album-review-delete-panel{transform:translateY(0) scale(1)}
.album-review-delete-kicker{
  display:block;
  margin-bottom:7px;
  color:#8a8a91;
  font-size:8px;
  font-weight:850;
  letter-spacing:.14em;
}
.album-review-delete-panel h2{
  margin:0;
  color:#f5f5f6;
  font-size:22px;
  font-weight:760;
  letter-spacing:-.02em;
}
.album-review-delete-panel p{
  margin:10px 0 0;
  color:#9b9ba2;
  font-size:11px;
  line-height:1.55;
}
.album-review-delete-panel p strong{color:#d9d9dc;font-weight:700}
.album-review-delete-status{
  min-height:18px;
  margin-top:8px;
  color:#df8383;
  font-size:9px;
  line-height:1.4;
}
.album-review-delete-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:13px;
}
.album-review-delete-actions button{
  min-height:42px;
  border-radius:9px;
  font:inherit;
  font-size:10px;
  font-weight:760;
  cursor:pointer;
}
.album-review-delete-cancel{
  border:1px solid #35353a;
  background:#18181b;
  color:#d0d0d4;
}
.album-review-delete-cancel:hover{background:#222226;color:#fff}
.album-review-delete-confirm{
  border:1px solid rgba(207,61,61,.66);
  background:#b92f2f;
  color:#fff;
}
.album-review-delete-confirm:hover:not(:disabled){background:#cc3a3a}
.album-review-delete-confirm:disabled{opacity:.62;cursor:wait}

@media screen and (max-width:1120px) and (min-width:761px){
  .album-reviews{grid-column:1/-1;grid-row:4;margin-top:0}
  .album-about[hidden] + .album-reviews{grid-row:3}
  .album-detail:has(.album-about[hidden]) .marketplace-panel{grid-row:4!important}
  .marketplace-panel{grid-row:5!important}
  .album-review{grid-template-columns:minmax(145px,1fr) 105px minmax(220px,2fr) 46px 30px}
}

@media screen and (max-width:760px){
  .album-reviews{
    grid-column:1/-1!important;
    grid-row:7!important;
    width:100%;
    margin-top:14px;
    padding:15px 14px 11px;
    border-radius:8px;
  }
  .album-about[hidden] + .album-reviews{grid-row:6!important}
  .album-detail:has(.album-about[hidden]) .marketplace-panel{grid-row:7!important}
  .marketplace-panel{grid-row:8!important}
  .album-reviews-heading{margin-bottom:10px}
  .album-reviews-heading h2{font-size:16px}
  .album-review-write{min-height:34px;padding:0 10px;font-size:9px}
  .album-review{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;
    padding:12px 0;
  }
  .album-review-author{grid-column:1;grid-row:1}
  .album-review-actions{grid-column:2;grid-row:1}
  .album-review-rating{grid-column:1/-1;grid-row:2;padding-top:1px}
  .album-review-copy{grid-column:1/-1;grid-row:3;padding-top:0}
  .album-review-social{grid-column:1/-1;grid-row:4;justify-content:flex-start;padding-top:0}
  .album-review-avatar{width:36px;height:36px;flex-basis:36px}
  .album-review-author-copy strong{font-size:11px}
  .album-review-author-copy small{font-size:8.5px}
  .review-stars{font-size:18px}
  .album-review-body{font-size:10.5px;line-height:1.55}
  .album-review-like{justify-content:flex-start;padding-left:0}
  .album-review-menu{right:0;top:30px}
  .album-review-editor{align-items:flex-end;padding:0}
  .album-review-delete-dialog{align-items:flex-end;padding:0}
  .album-review-delete-panel{
    width:100%;
    padding:24px 17px calc(18px + env(safe-area-inset-bottom));
    border-width:1px 0 0;
    border-radius:18px 18px 0 0;
  }
  .album-review-delete-actions button{min-height:44px}
  .album-review-editor-panel{
    width:100%;
    max-height:calc(100dvh - 10px);
    padding:24px 17px calc(18px + env(safe-area-inset-bottom));
    border-width:1px 0 0;
    border-radius:18px 18px 0 0;
  }
  .album-review-editor-heading h2{font-size:23px}
  .album-review-editor-field textarea{min-height:138px;font-size:16px}
  .album-review-editor-actions{display:grid;grid-template-columns:1fr 1fr}
  .album-review-editor-actions button{width:100%;min-height:44px}
}

@media screen and (max-width:380px){
  .album-reviews{padding:13px 12px 10px}
  .album-review-write span{display:none}
  .album-review-write{width:34px;padding:0}
  .album-review-write svg{width:14px;height:14px}
}

@media (prefers-reduced-motion:reduce){
  .album-reviews-loading span{animation:none}
  .album-review-write,.album-review-editor-rating button,.album-review-delete-dialog,.album-review-delete-panel{transition:none}
}
