/* Public survey: independent from the internal portal's global input rules. */
.feedback-public{--green:#278f16;--ink:#111;--line:#d9dfd8;margin:0;background:#fff;color:var(--ink);font:400 16px/1.6 Poppins,Arial,sans-serif}
.feedback-public *{box-sizing:border-box;min-width:0}
.feedback-public [hidden]{display:none!important}
.feedback-public .skip-link{position:absolute;left:12px;top:8px;transform:translateY(-160%);padding:10px;background:#fff;z-index:10}
.feedback-public .skip-link:focus{transform:none}
.feedback-public-main{max-width:800px;margin:auto;padding:28px 24px 48px}
.feedback-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.feedback-brand a{display:block;width:250px;max-width:65%}
.feedback-brand img{display:block;width:100%;height:auto}
.feedback-brand>span{font-size:.875rem;text-align:right}
.feedback-public h1{font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.2;letter-spacing:-.025em;margin:8px 0 14px;font-weight:700}
.feedback-public h2{font-size:1.4rem;line-height:1.35;margin:0 0 8px;font-weight:700}
.feedback-public p{margin:0 0 16px}
.feedback-public .eyebrow{font-size:.875rem;font-weight:700;color:#236e17;letter-spacing:.05em}
.feedback-prize{display:grid;gap:4px;margin:22px 0;padding:16px 18px;background:#f5fbf3;border:1px solid #c4dfbd;border-left:5px solid var(--green);border-radius:12px}
.feedback-prize span{font-size:.875rem}
.feedback-public a{color:#206e13;text-underline-offset:3px}
.feedback-progress{padding:18px 0 22px;border-top:1px solid var(--line);margin-top:18px}
.feedback-progress p{font-weight:600;font-size:.875rem;margin-bottom:8px}
.feedback-progress progress{display:block;width:100%;height:6px;border:0;border-radius:10px;accent-color:var(--green);background:#e7ebe5}
.feedback-progress progress::-webkit-progress-bar{background:#e7ebe5;border-radius:10px}
.feedback-progress progress::-webkit-progress-value{background:var(--green);border-radius:10px}
.feedback-progress ol{display:flex;list-style:none;justify-content:space-between;gap:12px;padding:0;margin:10px 0 0;font-size:.875rem}
.feedback-progress li[aria-current]{color:#206e13;font-weight:700}
.feedback-form,.feedback-step-panel{display:grid;gap:24px}
.feedback-section-heading p{margin:0}
.feedback-receipt-grid,.feedback-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.feedback-field{display:block;font-weight:600}
.feedback-field>small,.feedback-public legend small{display:block;font-size:.875rem;font-weight:400;margin-top:4px}
.feedback-field input,.feedback-field textarea{display:block;width:100%;font:400 1rem/1.5 Poppins,Arial,sans-serif;border:1px solid #8e998b;border-radius:9px;padding:12px;margin-top:8px;background:#fff;color:#111;min-height:48px}
.feedback-field textarea{resize:vertical}
.feedback-public button,.feedback-public .button{font:600 1rem/1.4 Poppins,Arial,sans-serif;min-height:48px;padding:13px 20px;border:2px solid #278f16;border-radius:10px;background:#278f16;color:#111;cursor:pointer;text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
.feedback-public button:hover{background:#32a71e;border-color:#32a71e}
.feedback-public button.secondary,.feedback-public .button.secondary{background:#fff;border-color:#8e998b;color:#111}
.feedback-public button:disabled{background:#e8ece6;border-color:#d9dfd8;color:#586052;cursor:not-allowed}
.feedback-public :focus-visible{outline:3px solid #142b0f;outline-offset:3px}
.feedback-public h2:focus{outline:none}
.feedback-actions{display:flex;justify-content:space-between;gap:14px;margin-top:4px}
.feedback-actions button:last-child{margin-left:auto}
.feedback-lookup-status{font-size:.875rem;padding:12px 14px;background:#f7f8f6;border-radius:8px;overflow-wrap:anywhere}
.feedback-lookup-status.is-error,.feedback-errors{border:1px solid #ed8c90;background:#fff5f5;color:#80171b;padding:14px;border-radius:10px}
.feedback-lookup-status.is-success{border:1px solid #a8d39e;background:#f2fbef;color:#205c16}
.feedback-errors ul{padding-left:22px;margin:8px 0 0}
.feedback-document-choices>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.feedback-purchase-summary{padding:18px;border:1px solid var(--line);border-radius:12px}
.feedback-purchase-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 0}
.feedback-purchase-summary dt{font-size:.875rem}
.feedback-purchase-summary dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.feedback-form fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 24px;margin:0;min-inline-size:0}
.feedback-form legend{display:block;width:100%;font-size:1.2rem;line-height:1.45;font-weight:700;margin:0 0 14px;padding:0;overflow-wrap:anywhere}
.feedback-question-help{font-size:.875rem;line-height:1.6}
.feedback-options,.feedback-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.feedback-rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.feedback-options label,.feedback-checks label,.feedback-rating label{position:relative;display:block;cursor:pointer}
/* Clip inside a positioned label: focus can never scroll to a viewport-wide invisible control. */
.feedback-options input,.feedback-checks input,.feedback-rating input{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;border:0;inset:0 auto auto 0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.feedback-options label>span,.feedback-checks label>span,.feedback-rating label>span{display:flex;align-items:center;justify-content:center;min-height:50px;height:100%;padding:12px;border:1px solid #a5afa1;border-radius:10px;text-align:center;font-weight:500;overflow-wrap:anywhere;line-height:1.5}
.feedback-options input:checked+span,.feedback-checks input:checked+span,.feedback-rating input:checked+span{border:2px solid #247d15;background:#eff9eb;box-shadow:inset 0 0 0 1px #247d15;font-weight:700}
.feedback-options input:focus-visible+span,.feedback-checks input:focus-visible+span,.feedback-rating input:focus-visible+span{outline:3px solid #142b0f;outline-offset:3px}
.feedback-rating label>span{flex-direction:column;gap:3px;padding:12px 6px;min-height:84px}
.feedback-rating b{font-size:1.6rem;line-height:1.2}
.feedback-rating small{font-size:.875rem;font-weight:400}
.feedback-conditional{border-left:3px solid var(--green)!important;padding-left:16px!important}
.feedback-draw{border:1px solid #c5dbbd;border-radius:12px;padding:20px;background:#f7fcf5}
.feedback-consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.feedback-consent input{width:22px;height:22px;flex:0 0 22px;margin:3px 0 0;accent-color:var(--green)}
.feedback-consent small{display:block;font-size:.875rem;margin-top:5px}
.feedback-contact{margin-top:22px}
.feedback-fine{font-size:.875rem;text-align:center}
.feedback-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.feedback-public-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;margin-top:28px;font-size:.875rem}
.feedback-success{text-align:center;padding:10px 0 24px}
.feedback-mascot{display:block;width:160px;height:160px;object-fit:contain;margin:0 auto 16px}
.feedback-legal h2{margin-top:28px;font-size:1.2rem}
.feedback-legal p{font-size:1rem}
.feedback-public .back{display:inline-block;margin-bottom:22px}
.feedback-winner-list{display:grid;gap:16px;margin:24px 0}
.feedback-winner-list article{padding:20px;border:1px solid var(--line);border-radius:12px}
.feedback-winner-list article>span{font-size:.875rem;color:#236e17}
.feedback-winner-list h2{margin:6px 0}
@media(max-width:560px){.feedback-public-main{padding:22px 16px 36px}.feedback-brand{display:block;margin-bottom:24px}.feedback-brand a{width:240px;max-width:80%}.feedback-brand>span{display:block;text-align:left;margin-top:8px}.feedback-receipt-grid,.feedback-contact,.feedback-purchase-summary dl{grid-template-columns:1fr}.feedback-options,.feedback-checks{grid-template-columns:1fr}.feedback-progress ol{font-size:.875rem;gap:8px}.feedback-actions{flex-wrap:wrap}.feedback-actions button{flex:1}.feedback-form legend{font-size:1.15rem}}
@media(max-width:430px){.feedback-rating{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-progress li{max-width:32%;line-height:1.4}.feedback-actions button{padding:12px}}
@media(prefers-reduced-motion:no-preference){.feedback-public button,.feedback-options label>span,.feedback-rating label>span{transition:background .15s,border-color .15s}}
