.review-spread-heading{position:relative}
.review-write{position:absolute;inset-inline-end:0;top:-7px;background:transparent;border:1px solid #20241f60;border-radius:999px;padding:7px 16px;font-weight:700;font-size:16px;line-height:1.3}
.review-write:hover{background:var(--ink);color:var(--paper)}
.review-write[hidden]{display:none}
.form-challenge{min-height:0;margin:0}
.form-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:13px!important;line-height:1.35;font-weight:400!important}
.form-consent input{flex:none;width:18px!important;height:18px;margin-top:1px;accent-color:var(--red)}
/* Single-viewport submission dialog (desktop + mobile). */
.review-submission{
  box-sizing:border-box;
  width:min(520px,calc(100dvw - 24px));
  max-width:calc(100dvw - 24px);
  max-height:calc(100dvh - 16px);
  margin:auto;
  overflow:hidden;
  overscroll-behavior:contain;
}
.review-submission .dialog-close{
  position:absolute;
  float:none;
  inset:8px auto auto 8px;
  left:8px;
  top:8px;
  margin:0;
  z-index:3;
  width:40px;
  height:40px;
  outline:none;
  box-shadow:none;
}
.review-submission .dialog-close:focus,
.review-submission .dialog-close:focus-visible{
  outline:none;
  box-shadow:none;
}
.review-submission .dialog-content{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:44px 18px 14px;
  max-width:100%;
  min-width:0;
  max-height:calc(100dvh - 16px);
  overflow:hidden;
}
.review-submission .dialog-content>p{
  font-size:14px;
  line-height:1.4;
  margin:0;
  color:#4f544c;
}
.review-submission h2{
  font-size:clamp(24px,6vw,32px);
  margin:0;
  line-height:1.15;
  max-width:100%;
  overflow-wrap:anywhere;
}
.review-submission form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
  max-width:100%;
  min-width:0;
  min-height:0;
  align-content:start;
}
.review-submission .hp{grid-column:1/-1}
.review-submission label{display:grid;gap:4px;font-weight:700;font-size:14px;max-width:100%;min-width:0;align-content:start}
.review-submission label:has([name=name]),
.review-submission label:has([name=title]){grid-column:span 1;align-self:start}
.review-submission label:has([name=message]),
.review-submission .form-consent,
.review-submission .form-challenge,
.review-submission .btn,
.review-submission .form-status{grid-column:1/-1}
.review-submission input:not([type=checkbox]),
.review-submission textarea{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  border:1px solid #20241f50;
  border-radius:4px;
  padding:8px 10px;
  background:#fffdf6;
  color:var(--ink);
  font:inherit;
  font-size:15px;
}
.review-submission input:not([type=checkbox]){
  height:42px;
  min-height:42px;
  max-height:42px;
  line-height:1.2;
}
.review-submission textarea{
  resize:none;
  min-height:0;
  height:clamp(64px,12dvh,110px);
  max-height:12dvh;
}
.review-submission .form-challenge{
  min-height:65px;
  margin:0;
  overflow:hidden;
}
.review-submission .form-status{min-height:1.2em;font-size:14px;margin:0}
.review-submission .btn{
  justify-self:stretch;
  border-radius:999px;
  max-width:100%;
  margin:0;
  padding-block:12px;
  font-size:16px;
}
.review-submission small{font-weight:400;color:#575c52;font-size:12px;line-height:1.3}
.review-submission [hidden]{display:none!important}
.review-success{padding:0}
.review-success-mark{width:48px;height:48px;color:#27754b;display:block;margin-block:0 14px}
.review-success p{margin:0 0 14px;font-size:16px;line-height:1.45}
.review-success .btn{margin-top:0}
.review-submission h2:focus{outline:none}
html:has(.review-submission[open]),body:has(.review-submission[open]){overflow:hidden}
@media(max-width:520px){
  .review-write{font-size:14px;padding:6px 12px;top:-6px}
  .review-submission{width:calc(100dvw - 12px);max-width:calc(100dvw - 12px);max-height:calc(100dvh - 8px)}
  .review-submission .dialog-content{padding:40px 14px 10px;gap:8px;max-height:calc(100dvh - 8px)}
  .review-submission form{grid-template-columns:1fr;gap:7px}
  .review-submission label:has([name=name]),
  .review-submission label:has([name=title]){grid-column:1/-1}
  .review-submission h2{font-size:22px}
  .review-submission .dialog-content>p{font-size:13px}
  .review-submission label{font-size:13px}
  .review-submission input:not([type=checkbox]),
  .review-submission textarea{padding:7px 9px;font-size:14px}
  .review-submission textarea{height:clamp(56px,11dvh,90px);max-height:11dvh}
  .review-submission .form-consent{font-size:12px!important;gap:8px}
  .review-submission .btn{padding-block:11px;font-size:15px}
  .review-submission small{display:none}
}
@media(max-height:700px){
  .review-submission .dialog-content>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .review-submission textarea{height:clamp(52px,10dvh,84px);max-height:10dvh}
  .review-submission .form-challenge{transform:scale(.92);transform-origin:top center;min-height:60px}
}
@media(max-height:620px){
  .review-submission h2{font-size:20px}
  .review-submission form{gap:6px}
  .review-submission .dialog-content{padding-top:36px;gap:6px}
  .review-submission .form-consent{font-size:11px!important;line-height:1.3}
  .review-submission textarea{height:48px;max-height:48px}
}
