.reviews {
  background: #eeebef;
  color: #21182a;
  padding-top: 104px;
  padding-bottom: 96px;
  overflow: hidden;
}
.reviews em { color: #795395; }
.reviews-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}
.reviews-kicker { color: #6b5578; font-size: .875rem; margin-bottom: 22px; }
.reviews-title { font-size: clamp(42px, 4.7vw, 72px); text-wrap: balance; }
.reviews-intro {
  margin: 24px 0 0;
  max-width: 560px;
  font-size: 1rem;
  line-height: 1.7;
  color: #63576e;
}
.reviews-controls { display: flex; gap: 10px; flex-shrink: 0; padding-bottom: 4px; }
.reviews-controls[hidden] { display: none; }
.reviews-control {
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid #8b719b;
  background: transparent;
  color: #36253f;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.reviews-control:not(:disabled):hover { background: #382346; color: #fff; }
.reviews-control:disabled { opacity: .38; cursor: default; }
.reviews-control:focus-visible,
.reviews-track:focus-visible { outline: 2px solid #795395; outline-offset: 5px; }
.reviews-track {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 20px;
  padding: 6px 0 23px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #8b709d #dcd5e2;
  cursor: grab;
}
.reviews-track::-webkit-scrollbar { height: 5px; }
.reviews-track::-webkit-scrollbar-track { background: #dcd5e2; }
.reviews-track::-webkit-scrollbar-thumb { background: #8b709d; border-radius: 3px; }
.reviews-track.is-dragging {
  scroll-snap-type: none;
  scroll-behavior: auto;
  cursor: grabbing;
  user-select: none;
}
.review-card {
  flex: 0 0 clamp(300px, 31vw, 430px);
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 29px;
  border: 1px solid #d1c7d9;
  background: #faf8fb;
  scroll-snap-align: start;
  box-shadow: 0 8px 20px #21182a06;
}
.review-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 31px;
}
.review-number { color: #796583; font-size: .875rem; letter-spacing: .08em; }
.review-state { color: #695278; font-size: .875rem; letter-spacing: .05em; }
.review-placeholder {
  font: 400 clamp(28px, 2.8vw, 36px)/1.16 Georgia, 'Times New Roman', serif;
  letter-spacing: -.03em;
  margin: 0 0 22px;
  text-wrap: balance;
}
.review-pending { color: #6a6072; font-size: 1rem; line-height: 1.7; margin: 0 0 34px; }
.review-partner {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-top: 21px;
  margin-top: auto;
  border-top: 1px solid #ded5e5;
}
.review-monogram {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  background: #ece5f1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.review-monogram img { width: 32px; height: 24px; object-fit: contain; pointer-events: none; }
.review-author { display: block; font-size: 1rem; font-weight: 600; line-height: 1.5; }
.review-author-note { display: block; font-size: .875rem; color: #73637e; line-height: 1.5; margin-top: 2px; }
.reviews-hint { margin: 15px 0 0; color: #695775; font-size: .875rem; line-height: 1.6; }
@media (max-width: 820px) {
  .reviews { padding-top: 78px; padding-bottom: 78px; }
  .reviews-heading { flex-wrap: wrap; gap: 25px; }
  .reviews-controls { padding: 0; }
}
@media (max-width: 640px) {
  .reviews { padding-top: 65px; padding-bottom: 65px; }
  .reviews-heading { margin-bottom: 26px; }
  .reviews-title { font-size: clamp(40px, 10.5vw, 52px); }
  .reviews-track { gap: 14px; }
  .review-card { flex-basis: 88%; padding: 24px; }
  .review-placeholder { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews-track { scroll-behavior: auto; }
  .reviews-control { transition: none; }
}

.rating-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;width:fit-content;max-width:100%;padding:18px 24px;margin:8px 0 20px;border:1px solid #b9a8c8;border-radius:999px;background:#faf8fb;color:#302039}
.homepage .rating-summary{background:#171320;border-color:#c9b3ec42;color:#f5f1fb}.homepage .rating-count,.homepage .reviews-empty{color:#c4b5d4}.homepage .rating-avatar{border-color:#171320}.homepage .review-comment{color:#e5dbea}.homepage .review-card-stars{color:#d6b3f2}.homepage .review-section-button,.homepage .reviews-more{color:#e2c8f5;border-color:#b78dd375}
.rating-avatars{display:flex;padding-right:5px}.rating-avatars:empty{display:none}.rating-avatar{display:grid;place-items:center;width:42px;height:42px;margin-right:-8px;border:3px solid #faf8fb;border-radius:50%;background:#e4d8ef;color:#674582;font-size:.875rem;font-weight:600}.rating-avatar:nth-child(2){background:#d4c2e4}.rating-avatar:nth-child(3){background:#bda7d1}
.rating-stars{display:flex;gap:4px}.rating-stars span{display:grid;place-items:center;width:31px;height:34px;font-size:25px;color:white;background:linear-gradient(to right,#8055a5 var(--fill,0%),#d5cbdc var(--fill,0%));border-radius:3px}.rating-value{font-size:1.3rem;font-weight:650}.rating-count{font-size:1rem;color:#695775}
.review-section-button,.reviews-more{min-height:46px;padding:12px 18px;border:1px solid #795395;border-radius:999px;background:transparent;color:#4d3260;font:500 .9375rem/1.4 Arial,sans-serif;cursor:pointer}.review-section-button{margin-bottom:24px}.reviews-more{margin-top:22px}.reviews-more[hidden]{display:none}.review-section-button:hover,.reviews-more:hover{background:#795395;color:white}.reviews-empty{font-size:1rem;line-height:1.6;color:#695775;margin:16px 0 25px}.review-card-stars{color:#795395;font-size:1.25rem;white-space:nowrap}.review-comment{font-size:1rem;line-height:1.7;color:#43334e;margin:0 0 28px;white-space:pre-wrap;overflow-wrap:anywhere}.review-author{overflow-wrap:anywhere}.review-monogram{color:#795395;font:600 1rem/1 Arial,sans-serif}
.review-floating{position:fixed;right:max(20px,env(safe-area-inset-right));top:48%;z-index:19;display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid #c2a7de;border-radius:999px;background:#261734ed;color:#f5ecff;box-shadow:0 8px 30px #0004;backdrop-filter:blur(12px);font:500 .9375rem/1.3 Arial,sans-serif;cursor:pointer}.review-floating>span:first-child{font-size:1.4rem}.review-floating:hover{background:#583375}body:has(dialog[open]) .review-floating{visibility:hidden}
#review-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 36px);margin:auto;padding:30px;border:1px solid #86629f;border-radius:24px;background:#181020;color:#f5edff;overflow-y:auto;box-shadow:0 25px 100px #0008}#review-dialog::backdrop{background:#09060fbd;backdrop-filter:blur(8px)}.review-dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.review-dialog-top>span{font:500 .875rem/1.5 Arial,sans-serif;letter-spacing:.22em;color:#ceb8e0}.review-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #765488;border-radius:50%;background:none;color:inherit;font-size:28px;cursor:pointer}#review-dialog h2{font:400 2rem/1.2 Georgia,serif;margin:0 0 14px}.review-form-intro{font-size:1rem;line-height:1.6;color:#cbb9d8;margin:0 0 24px}#review-form{display:grid;gap:20px}#review-form>label{display:grid;gap:9px;font-size:.9375rem;line-height:1.5}#review-form input:not([type=radio]):not([type=checkbox]),#review-form select,#review-form textarea{box-sizing:border-box;min-width:0;width:100%;border:1px solid #6f5382;border-radius:10px;background:#24192e;color:#fff;padding:12px 14px;min-height:48px;font:400 1rem/1.5 Arial,sans-serif}#review-form textarea{resize:vertical}#review-form select option{background:#24192e}.review-rating{padding:0;margin:0;border:0;min-width:0}.review-rating legend{font-size:.9375rem;margin-bottom:10px}.review-rating-options{display:flex;gap:10px}.review-rating-options label{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid #6f5382;border-radius:10px;color:#9b83ad;background:#24192e;cursor:pointer}.review-rating-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.review-rating-options span{font-size:30px;pointer-events:none}.review-rating-options label.selected{background:#624080;border-color:#c9a3ee;color:#fff0c6}.review-rating-options label:has(input:focus-visible){outline:2px solid #dec2ff;outline-offset:3px}.review-rating-hint{font-size:.875rem;color:#cbb9d8;margin:10px 0 0}#review-form>.review-consent{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;color:#d4c5df}.review-consent input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:#ac80d3}.review-submit{padding:14px 18px;min-height:50px;border:1px solid #bb94da;border-radius:999px;background:#dbc0ef;color:#291934;font:600 1rem/1.4 Arial,sans-serif;cursor:pointer}.review-submit:disabled{opacity:.6;cursor:wait}.review-form-status{font-size:1rem;line-height:1.6;margin:0;color:#e4cff5}.review-form-status:empty{display:none}.review-honeypot{display:none}.review-floating:focus-visible,.review-section-button:focus-visible,.reviews-more:focus-visible,.review-close:focus-visible,.review-submit:focus-visible,#review-form input:focus-visible,#review-form select:focus-visible,#review-form textarea:focus-visible{outline:2px solid #b17ed3;outline-offset:4px}
@media(max-width:640px){.review-floating{top:auto;right:14px;bottom:calc(74px + env(safe-area-inset-bottom));padding:11px 16px;min-height:46px}.rating-summary{border-radius:22px;padding:16px;gap:12px}.rating-stars span{width:28px;height:31px;font-size:23px}.rating-value{font-size:1.125rem}.rating-count{font-size:.9375rem}#review-dialog{padding:22px}.review-rating-options{gap:8px}.review-rating-options label{width:44px;height:46px}}
