/* CPH feedback 2026.10.05.006. MatthewxMurphy.com. GPL-2.0-or-later. */
.cph-feedback {
    box-sizing: border-box;
    max-width: 780px;
    margin: 32px auto;
    padding: clamp(20px, 4vw, 38px);
    border: 1px solid #33445f;
    border-radius: 20px;
    background: linear-gradient(150deg, #142540, #0b1527);
    color: #eef4ff;
    text-align: left;
    font: 16px/1.65 Inter, ui-sans-serif, system-ui, sans-serif;
}
/* The theme also styles paragraphs inside page heroes. These scoped text
   selectors keep the dark form palette independent of that outer cascade. */
.cph-feedback[data-cph-feedback] :where(.cph-feedback__form) p { color: #d2dff2; }
.cph-feedback *, .cph-feedback *::before, .cph-feedback *::after { box-sizing: border-box; }
.cph-feedback .cph-feedback__intro h2 { margin: 0 0 12px; color: #fff; font-size: clamp(26px, 5vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
.cph-feedback[data-cph-feedback] .cph-feedback__intro p { margin: 0 0 20px; color: #d2dff2; font-size: 17px; }
.cph-feedback[data-cph-feedback] .cph-feedback__privacy { padding-bottom: 22px; margin: 0 0 26px; border-bottom: 1px solid #41516b; color: #c5d2e5; font-size: 14px; }
.cph-feedback[data-cph-feedback] .cph-feedback__privacy a { color: #a8dcff; text-decoration: underline; text-underline-offset: 3px; }
.cph-feedback fieldset { border: 0; min-width: 0; padding: 0; margin: 0; }
.cph-feedback legend, .cph-feedback label { color: #f2f6ff; font-size: 15px; font-weight: 650; }
.cph-feedback label span { font-weight: 400; color: #bfcee5; }
.cph-feedback .cph-feedback__type { margin-bottom: 24px; }
.cph-feedback .cph-feedback__type legend { margin-bottom: 10px; }
.cph-feedback .cph-feedback__type label { display: inline-flex; align-items: center; gap: 9px; margin: 0 24px 8px 0; min-height: 36px; }
.cph-feedback input[type="radio"] { accent-color: #73ceff; width: 18px; height: 18px; margin: 0; }
.cph-feedback .cph-feedback__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.cph-feedback .cph-feedback__field { min-width: 0; margin-bottom: 23px; }
.cph-feedback .cph-feedback__field label { display: block; margin-bottom: 8px; }
.cph-feedback input:not([type="radio"]), .cph-feedback select, .cph-feedback textarea {
    display: block; width: 100%; max-width: 100%; min-height: 46px; padding: 10px 12px;
    border: 1px solid #75859d; border-radius: 7px; background: #071221; color: #f4f7ff;
    font: inherit; line-height: 1.5; box-shadow: none;
}
.cph-feedback input::placeholder, .cph-feedback textarea::placeholder { color: #a9bcd7; opacity: 1; }
.cph-feedback textarea { resize: vertical; min-height: 155px; }
.cph-feedback[data-cph-feedback] .cph-feedback__help { margin: 0 0 8px; color: #bccce3; font-size: 13px; line-height: 1.55; }
.cph-feedback input + .cph-feedback__help { margin-top: 8px; }
.cph-feedback :focus-visible { outline: 3px solid #8adfff; outline-offset: 3px; }
.cph-feedback[data-cph-feedback] .cph-feedback__status { overflow-wrap: anywhere; margin: 0 0 18px; padding: 12px 0 12px 16px; border-left: 3px solid #74ceff; color: #d7eaff; font-size: 15px; }
.cph-feedback[data-cph-feedback] .cph-feedback__status[data-state="error"] { border-color: #ffa79c; color: #ffdad4; }
.cph-feedback[data-cph-feedback] .cph-feedback__status[data-state="success"] { border-color: #73e7b1; color: #d0ffe9; }
.cph-feedback .cph-feedback__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cph-feedback button { min-height: 48px; padding: 12px 22px; border: 1px solid #82c7ff; border-radius: 7px; background: #b5ddff; color: #07182f; font: inherit; font-weight: 750; cursor: pointer; }
.cph-feedback button:hover:not(:disabled) { background: #d0eaff; }
.cph-feedback button:disabled { cursor: wait; opacity: .65; }
.cph-feedback[data-cph-feedback] .cph-feedback__notice { color: #ffdad4; }
.cph-feedback [hidden], .cph-feedback .cph-feedback__honeypot { display: none !important; }
.cph-feedback .cph-feedback__sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 620px) {
    .cph-feedback { margin: 20px auto; border-radius: 12px; }
    .cph-feedback .cph-feedback__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cph-feedback .cph-feedback__actions, .cph-feedback button { width: 100%; }
}
.cph-feedback .cph-feedback__files {list-style:none;padding:0;margin:0;display:grid;gap:10px}
.cph-feedback .cph-feedback__files li {display:flex;align-items:center;justify-content:space-between;gap:12px;overflow-wrap:anywhere;font-size:.9rem}
.cph-feedback .cph-feedback__files button {min-height:40px;background:transparent;border:1px solid #7186a6;color:#e7efff;border-radius:6px;padding:6px 12px;cursor:pointer;flex-shrink:0}
.cph-feedback .cph-feedback__upload {display:grid;gap:8px;font-size:.9rem;overflow-wrap:anywhere}
.cph-feedback .cph-feedback__upload progress {width:100%;accent-color:#6dd9fa;height:16px}
.cph-feedback input[type=file] {height:auto;min-width:0;padding:10px}
.cph-feedback input[type=file]::file-selector-button {border:0;background:#d5edff;color:#13223a;padding:8px 10px;margin-right:10px;cursor:pointer;border-radius:4px}
