/* Item 58 — canal de denúncias */

.complaint-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 83% 22%, rgba(70, 163, 255, .34), transparent 24rem),
    linear-gradient(116deg, #051c31 0%, #073d70 62%, #0057b8 100%);
  padding: clamp(4rem, 9vw, 8rem) 0;
}
.complaint-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image: repeating-linear-gradient(120deg, transparent 0 38px, rgba(255,255,255,.2) 39px 40px);
  pointer-events: none;
}
.complaint-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: center; }
.complaint-kicker { display: inline-block; margin-bottom: 1rem; color: #9bd3ff; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.complaint-hero h1 { max-width: 820px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 7vw, 6.8rem); font-weight: 700; line-height: .92; letter-spacing: -.055em; }
.complaint-hero p { max-width: 760px; margin: 1.5rem 0 0; color: #d7ebff; font-size: clamp(1rem, 2vw, 1.3rem); line-height: 1.7; }
.complaint-seal { display: grid; width: 164px; height: 164px; place-content: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; text-align: center; transform: rotate(-7deg); box-shadow: 0 0 0 12px rgba(255,255,255,.06); }
.complaint-seal strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; }
.complaint-seal span { color: #9bd3ff; font-size: .74rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }

.complaint-content { background: #f3f6f8; padding: clamp(3rem, 7vw, 7rem) 0; }
.complaint-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: start; }
.complaint-number { display: block; margin-bottom: 1.4rem; color: #7990a3; font: 800 .78rem/1 sans-serif; letter-spacing: .18em; }
.complaint-rules { position: sticky; top: 2rem; padding-top: .7rem; }
.complaint-rules h2 { margin: 0 0 2rem; color: #10283b; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.02; letter-spacing: -.04em; }
.complaint-rules p {
  margin: 0 0 1.6rem;
  padding-left: 1.15rem;
  border-left: 4px solid var(--rules-color, #0057b8);
  color: var(--rules-color, #0057b8);
  font-size: var(--rules-size, 25px);
  font-weight: 800;
  line-height: 1.36;
}
.complaint-form-card { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid #dce4ea; border-radius: 4px; background: #fff; box-shadow: 0 28px 75px rgba(14, 43, 66, .11); }
.complaint-form-card h2 { margin: 0 0 2rem; color: #10283b; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.04em; }
.complaint-form { display: grid; gap: 1.2rem; }
.complaint-fields { display: grid; gap: 1.2rem; }
.complaint-fields.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.complaint-form label:not(.complaint-check):not(.check) { display: grid; gap: .55rem; color: #213c51; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.complaint-form label small { color: #6b7e8d; font-size: .68rem; text-transform: none; }
.complaint-form input:not([type="checkbox"]), .complaint-form select, .complaint-form textarea {
  width: 100%; border: 1px solid #bfd0dc; border-radius: 3px; background: #fafdff; color: #10283b; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1.45; letter-spacing: 0; text-transform: none; transition: border-color .2s, box-shadow .2s, background .2s;
}
.complaint-form input:not([type="checkbox"]), .complaint-form select { min-height: 50px; padding: .75rem .9rem; }
.complaint-form textarea { min-height: 150px; padding: .9rem; resize: vertical; }
.complaint-form input:focus, .complaint-form select:focus, .complaint-form textarea:focus { outline: 0; border-color: #0057b8; background: #fff; box-shadow: 0 0 0 4px rgba(0,87,184,.12); }
.complaint-check, .complaint-form .check { display: grid; grid-template-columns: 20px 1fr; gap: .7rem; align-items: start; color: #4c6070; font-size: .9rem; line-height: 1.45; }
.complaint-check input, .complaint-form .check input { width: 18px; height: 18px; margin-top: .1rem; accent-color: #0057b8; }
.complaint-form .hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.complaint-submit { width: 100%; min-height: 56px; margin-top: .35rem; border-radius: 3px; background: #0057b8; }
.complaint-submit:hover { background: #003f87; transform: translateY(-2px); }
.complaint-closed { padding: 1rem; border-left: 4px solid #0057b8; background: #eaf4ff; color: #123d60; font-weight: 700; }

@media (max-width: 820px) {
  .complaint-hero-grid, .complaint-layout { grid-template-columns: 1fr; }
  .complaint-seal { display: none; }
  .complaint-rules { position: static; }
}
@media (max-width: 560px) {
  .complaint-fields.two { grid-template-columns: 1fr; }
  .complaint-rules p { font-size: min(var(--rules-size, 25px), 22px); }
}

.complaint-home-cta { padding: clamp(2.5rem, 6vw, 5rem) 0; background: #071f34; color: #fff; }
.complaint-home-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; }
.complaint-home-inner span { color: #77c0ff; font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.complaint-home-inner h2 { margin: .45rem 0 .55rem; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.035em; }
.complaint-home-inner p { max-width: 760px; margin: 0; color: #c9dbea; font-size: 1.05rem; line-height: 1.6; }
.complaint-home-inner .button { min-width: 150px; text-align: center; background: #178be2; color: #fff; }
.complaint-home-inner .button:hover { background: #6cbdff; color: #061c2f; }
@media (max-width: 700px) { .complaint-home-inner { grid-template-columns: 1fr; } .complaint-home-inner .button { justify-self: start; } }
