/* Contact feedback uses the website's type, colour and outlined-control language. */
.contact-feedback-open { overflow: hidden; }
.ct-feedback { --feedback-ink:var(--deep); --feedback-wash:#eaf5fb; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:clamp(28px,5vw,40px); border:1px solid #d7e5ed; border-radius:24px; color:var(--ink); background:radial-gradient(ellipse at 10% 0%,#eff8fc,transparent 65%),#fff; box-shadow:0 30px 100px #08132045; overflow:auto; overflow-wrap:anywhere; }
.ct-feedback::backdrop { background:#08132099; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.ct-feedback[data-kind="error"] { --feedback-ink:#906116; --feedback-wash:#fff3df; }
.ct-feedback-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; color:var(--charcoal); background:#ffffffb3; cursor:pointer; transition:background .2s,border-color .2s; }
.ct-feedback-close:hover { background:#eef5fa; border-color:#a8c2d5; }
.ct-feedback-close svg { width:20px; height:20px; }
.ct-feedback :focus-visible { outline:3px solid var(--signal); outline-offset:4px; }
.ct-feedback-symbol { display:grid; place-items:center; width:60px; height:60px; margin-bottom:24px; border:1px solid color-mix(in srgb,var(--feedback-ink) 15%,transparent); border-radius:18px; color:var(--feedback-ink); background:var(--feedback-wash); }
.ct-feedback-symbol svg { width:28px; height:28px; stroke-linecap:round; stroke-linejoin:round; }
.ct-feedback-alert, .ct-feedback[data-kind="error"] .ct-feedback-check { display:none; }
.ct-feedback[data-kind="error"] .ct-feedback-alert { display:block; }
.ct-feedback h2 { padding-right:20px; margin-bottom:14px; font-size:clamp(1.65rem,5vw,2rem); line-height:1.15; }
#ct-feedback-detail { color:var(--charcoal); font-size:.95rem; line-height:1.65; }
#ct-feedback-detail p { margin:0; }
#ct-err .btn { margin-top:24px; }
.ct-feedback-receipt { display:grid; gap:8px; margin-top:24px; padding:18px; border:1px solid #dbe7ee; border-radius:14px; background:#f5f9fc; }
.ct-feedback-receipt strong { font-size:.78rem; font-weight:500; }
#ct-summary { display:grid; gap:14px; justify-items:start; }
#ct-summary p { color:var(--charcoal); font-size:.95rem; }
@media(prefers-reduced-motion:no-preference) { .ct-feedback[open] { animation:contact-feedback-in .2s ease-out both; } @keyframes contact-feedback-in { from {opacity:0;transform:translateY(10px) scale(.98)} to {opacity:1;transform:none} } }
