.feedback-page,
.feedback-thanks-page{
  min-height:100dvh;
  padding:clamp(1.1rem,2vw,1.6rem);
  background:
    radial-gradient(circle at top left, rgba(67,97,238,.18), transparent 30%),
    radial-gradient(circle at bottom right, rgba(14,165,164,.18), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #eef4ff 45%, #f7f9fc 100%);
}

.feedback-shell{
  width:min(1160px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,380px) minmax(0,1fr);
  gap:clamp(1rem,2vw,1.5rem);
  align-items:stretch;
}

.feedback-hero,
.feedback-panel,
.feedback-thanks-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(67,97,238,.12);
  border-radius:28px;
  background:rgba(255,255,255,.82);
  box-shadow:0 30px 80px rgba(15,23,42,.12);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.feedback-hero{
  padding:1.55rem;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  background:
    radial-gradient(circle at top right, rgba(67,97,238,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,248,255,.88));
}

.feedback-hero::after,
.feedback-panel::after,
.feedback-thanks-card::after{
  content:"";
  position:absolute;
  inset:auto -80px -80px auto;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(67,97,238,.16), transparent 68%);
  pointer-events:none;
}

.feedback-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  width:max-content;
  padding:.38rem .74rem;
  border-radius:999px;
  background:rgba(67,97,238,.1);
  color:#3552d4;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.feedback-title{
  margin:0;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.04;
  font-weight:900;
  letter-spacing:-.04em;
  color:#14213d;
}

.feedback-subtitle{
  margin:0;
  color:#5f6f8a;
  font-size:1rem;
  line-height:1.8;
}

.feedback-societe-card{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:1rem 1.05rem;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(67,97,238,.12);
}

.feedback-societe-badge{
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  flex:0 0 58px;
  background:linear-gradient(135deg, #4361ee, #0ea5a4);
  color:#fff;
  font-size:1.35rem;
  font-weight:900;
  box-shadow:0 18px 34px rgba(67,97,238,.24);
}

.feedback-societe-copy{
  min-width:0;
  display:grid;
  gap:.2rem;
}

.feedback-societe-copy strong{
  font-size:1.06rem;
  color:#16213f;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.feedback-societe-copy span{
  color:#667793;
  line-height:1.45;
}

.feedback-metrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.7rem;
}

.feedback-metric{
  padding:.95rem .85rem;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(67,97,238,.1);
}

.feedback-metric strong{
  display:block;
  color:#13213f;
  font-size:1.05rem;
  font-weight:900;
}

.feedback-metric span{
  color:#6a7b97;
  font-size:.9rem;
}

.feedback-benefits{
  display:grid;
  gap:.75rem;
}

.feedback-benefit{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:.9rem 1rem;
  border-radius:20px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(67,97,238,.09);
}

.feedback-benefit i{
  width:2.35rem;
  height:2.35rem;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(67,97,238,.12);
  color:#4361ee;
  flex:0 0 2.35rem;
}

.feedback-benefit strong{
  display:block;
  margin-bottom:.12rem;
  color:#13213f;
}

.feedback-benefit span{
  color:#677894;
  line-height:1.55;
}

.feedback-panel{
  padding:1.5rem;
}

.feedback-panel-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  margin-bottom:.7rem;
}

.feedback-panel-kicker{
  display:block;
  margin-bottom:.38rem;
  color:#677894;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.feedback-panel h2{
  margin:0;
  font-size:clamp(1.45rem,2.4vw,2.3rem);
  line-height:1.14;
  letter-spacing:-.03em;
  color:#14213d;
}

.feedback-lock{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(15,23,42,.05);
  color:#566782;
  font-size:.88rem;
  font-weight:700;
}

.feedback-live-copy{
  margin:0 0 1.15rem;
  color:#5d6e89;
  line-height:1.75;
}

.feedback-alert{
  margin:0 0 1rem;
  padding:.95rem 1rem;
  border-radius:18px;
  border:1px solid rgba(244,63,94,.16);
  background:rgba(255,241,242,.92);
  color:#9f1239;
  box-shadow:0 10px 24px rgba(244,63,94,.08);
}

.feedback-alert p{
  margin:0;
}

.feedback-alert p + p{
  margin-top:.35rem;
}

.feedback-form{
  display:grid;
  gap:1.15rem;
}

.feedback-fieldset{
  margin:0;
  padding:0;
  border:0;
}

.feedback-fieldset legend{
  margin:0 0 .78rem;
  font-size:1rem;
  font-weight:800;
  color:#16213f;
}

.feedback-rating-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:.75rem;
}

.feedback-option{
  position:relative;
  display:block;
  min-width:0;
}

.feedback-option input{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}

.feedback-option-card{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  min-height:150px;
  padding:1rem .92rem;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.feedback-option:hover .feedback-option-card{
  transform:translateY(-2px);
  border-color:rgba(67,97,238,.28);
  box-shadow:0 18px 32px rgba(67,97,238,.14);
}

.feedback-option input:focus-visible + .feedback-option-card{
  outline:3px solid rgba(67,97,238,.18);
  outline-offset:3px;
}

.feedback-option input:checked + .feedback-option-card{
  border-color:rgba(67,97,238,.55);
  background:linear-gradient(180deg, rgba(67,97,238,.1), rgba(255,255,255,.98));
  box-shadow:0 22px 44px rgba(67,97,238,.16);
  transform:translateY(-2px);
}

.feedback-option-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
}

.feedback-option-emoji{
  font-size:1.6rem;
  line-height:1;
}

.feedback-option-score{
  padding:.2rem .5rem;
  border-radius:999px;
  background:rgba(67,97,238,.1);
  color:#3552d4;
  font-size:.8rem;
  font-weight:800;
}

.feedback-option-card strong{
  color:#13213f;
  font-size:1rem;
  line-height:1.25;
}

.feedback-option-card small{
  color:#667793;
  line-height:1.55;
  font-size:.84rem;
}

.feedback-rating-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.95rem 1rem;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(67,97,238,.08), rgba(14,165,164,.08));
  border:1px solid rgba(67,97,238,.12);
}

.feedback-stars{
  font-size:1.5rem;
  letter-spacing:.18rem;
  color:#f59f00;
  line-height:1;
}

.feedback-rating-caption{
  flex:1;
  color:#576886;
  line-height:1.6;
}

.feedback-comment-block{
  padding:1rem;
  border-radius:24px;
  background:rgba(248,250,255,.95);
  border:1px solid rgba(67,97,238,.08);
}

.feedback-label-row{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin-bottom:.72rem;
}

.feedback-label-row label{
  font-size:1rem;
  font-weight:800;
  color:#13213f;
}

.feedback-label-row span{
  color:#6a7b97;
  font-size:.9rem;
}

.feedback-textarea-wrap textarea{
  width:100%;
  min-height:170px;
  resize:vertical;
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  background:#fff;
  padding:1rem 1.05rem;
  font:inherit;
  line-height:1.7;
  color:#13213f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.feedback-textarea-wrap textarea:focus{
  outline:0;
  border-color:rgba(67,97,238,.42);
  box-shadow:0 0 0 4px rgba(67,97,238,.08);
}

.feedback-comment-meta{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin-top:.65rem;
}

.feedback-comment-meta p{
  margin:0;
  color:#687995;
  line-height:1.55;
}

.feedback-count{
  flex:0 0 auto;
  padding:.3rem .58rem;
  border-radius:999px;
  background:rgba(67,97,238,.08);
  color:#3552d4;
  font-size:.82rem;
  font-weight:800;
}

.feedback-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}

.feedback-chip{
  border:1px solid rgba(67,97,238,.14);
  background:#fff;
  color:#3552d4;
  border-radius:999px;
  padding:.62rem .88rem;
  font:inherit;
  font-size:.92rem;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.feedback-chip:hover,
.feedback-chip:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(67,97,238,.34);
  box-shadow:0 14px 24px rgba(67,97,238,.11);
  outline:0;
}

.feedback-submit-row{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}

.feedback-submit{
  min-width:220px;
  justify-content:center;
  border-radius:16px;
  padding:.95rem 1.2rem;
  box-shadow:0 20px 36px rgba(67,97,238,.2);
}

.feedback-submit[disabled]{
  opacity:.58;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.feedback-submit-hint{
  margin:0;
  color:#687995;
  line-height:1.55;
}

.feedback-disclaimer{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  padding:.95rem 1rem;
  border-radius:18px;
  background:rgba(15,23,42,.04);
  color:#596a85;
}

.feedback-disclaimer i{
  margin-top:.15rem;
  color:#4361ee;
}

.feedback-disclaimer p{
  margin:0;
  line-height:1.65;
}

.feedback-thanks-page{
  display:grid;
  place-items:center;
}

.feedback-thanks-card{
  width:min(760px,100%);
  padding:1.8rem;
  text-align:center;
}

.feedback-thanks-badge{
  width:72px;
  height:72px;
  margin:0 auto 1rem;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg, #4361ee, #0ea5a4);
  color:#fff;
  font-size:1.6rem;
  box-shadow:0 20px 38px rgba(67,97,238,.28);
}

.feedback-thanks-card h1{
  margin:.3rem 0 .8rem;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.06;
  letter-spacing:-.04em;
  color:#14213d;
}

.feedback-thanks-copy,
.feedback-thanks-note{
  margin:0 auto;
  max-width:620px;
  color:#5d6e89;
  line-height:1.8;
}

.feedback-thanks-points{
  margin:1.35rem 0 1rem;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.9rem;
}

.feedback-thanks-points > div{
  padding:1rem;
  border-radius:20px;
  background:rgba(248,250,255,.95);
  border:1px solid rgba(67,97,238,.1);
  text-align:left;
}

.feedback-thanks-points strong{
  display:block;
  margin-bottom:.2rem;
  color:#14213d;
}

.feedback-thanks-points span{
  color:#667793;
  line-height:1.65;
}

html[data-theme="dark"] .feedback-page,
html[data-theme="dark"] .feedback-thanks-page{
  background:
    radial-gradient(circle at top left, rgba(67,97,238,.2), transparent 32%),
    radial-gradient(circle at bottom right, rgba(14,165,164,.18), transparent 34%),
    linear-gradient(180deg, #09101d 0%, #0d1728 100%);
}

html[data-theme="dark"] .feedback-hero,
html[data-theme="dark"] .feedback-panel,
html[data-theme="dark"] .feedback-thanks-card{
  background:rgba(12,18,31,.86);
  border-color:rgba(148,163,184,.14);
  box-shadow:0 26px 70px rgba(0,0,0,.36);
}

html[data-theme="dark"] .feedback-title,
html[data-theme="dark"] .feedback-panel h2,
html[data-theme="dark"] .feedback-societe-copy strong,
html[data-theme="dark"] .feedback-option-card strong,
html[data-theme="dark"] .feedback-label-row label,
html[data-theme="dark"] .feedback-thanks-card h1,
html[data-theme="dark"] .feedback-thanks-points strong,
html[data-theme="dark"] .feedback-benefit strong,
html[data-theme="dark"] .feedback-metric strong{
  color:#f3f6ff;
}

html[data-theme="dark"] .feedback-subtitle,
html[data-theme="dark"] .feedback-societe-copy span,
html[data-theme="dark"] .feedback-benefit span,
html[data-theme="dark"] .feedback-metric span,
html[data-theme="dark"] .feedback-live-copy,
html[data-theme="dark"] .feedback-rating-caption,
html[data-theme="dark"] .feedback-label-row span,
html[data-theme="dark"] .feedback-comment-meta p,
html[data-theme="dark"] .feedback-submit-hint,
html[data-theme="dark"] .feedback-disclaimer,
html[data-theme="dark"] .feedback-thanks-copy,
html[data-theme="dark"] .feedback-thanks-note,
html[data-theme="dark"] .feedback-thanks-points span{
  color:#aab8cf;
}

html[data-theme="dark"] .feedback-societe-card,
html[data-theme="dark"] .feedback-metric,
html[data-theme="dark"] .feedback-benefit,
html[data-theme="dark"] .feedback-option-card,
html[data-theme="dark"] .feedback-comment-block,
html[data-theme="dark"] .feedback-thanks-points > div{
  background:rgba(17,24,39,.82);
  border-color:rgba(148,163,184,.14);
}

html[data-theme="dark"] .feedback-rating-summary{
  background:linear-gradient(135deg, rgba(67,97,238,.14), rgba(14,165,164,.1));
  border-color:rgba(148,163,184,.12);
}

html[data-theme="dark"] .feedback-textarea-wrap textarea{
  background:#0f172a;
  border-color:rgba(148,163,184,.18);
  color:#f3f6ff;
}

html[data-theme="dark"] .feedback-chip{
  background:#111b2f;
  border-color:rgba(148,163,184,.16);
  color:#b8c7e3;
}

html[data-theme="dark"] .feedback-lock,
html[data-theme="dark"] .feedback-disclaimer{
  background:rgba(255,255,255,.05);
}

@media (max-width: 980px){
  .feedback-shell{
    grid-template-columns:1fr;
  }

  .feedback-rating-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .feedback-page,
  .feedback-thanks-page{
    padding:.8rem;
  }

  .feedback-hero,
  .feedback-panel,
  .feedback-thanks-card{
    border-radius:24px;
  }

  .feedback-hero,
  .feedback-panel,
  .feedback-thanks-card{
    padding:1.1rem;
  }

  .feedback-metrics,
  .feedback-thanks-points{
    grid-template-columns:1fr;
  }

  .feedback-rating-grid{
    grid-template-columns:1fr;
  }

  .feedback-panel-head,
  .feedback-label-row,
  .feedback-comment-meta,
  .feedback-submit-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .feedback-lock{
    width:100%;
    justify-content:center;
  }

  .feedback-submit{
    width:100%;
  }
}
