/* Event polls — polished, on-brand (navy/gold). Loads on /polls/. */
.cgc-poll-root{max-width:820px;margin:10px auto 46px;padding:0 16px;color:#2f2a22}
.cgc-poll-wrap{display:flex;flex-direction:column;gap:22px}
.cgc-poll{position:relative;background:#fff;border:1px solid #ece4d2;border-radius:16px;padding:0 0 4px;overflow:hidden;box-shadow:0 8px 26px rgba(30,20,5,.08)}
.cgc-poll::before{content:"";display:block;height:5px;background:linear-gradient(90deg,#c79a2e,#e4bd55)}
.cgc-poll>*:not(.cgc-poll-track):not(:first-child){padding-left:26px;padding-right:26px}
.cgc-poll h2{margin:20px 0 8px;font-size:1.55rem;color:#0b2a5b;line-height:1.16}
.cgc-poll h3{margin:18px 0 8px;color:#0b2a5b}
.cgc-poll-details{color:#5c5345;line-height:1.55;margin:.2rem 0 .8rem}
.cgc-poll-deadline{display:inline-block;background:#fbf2d6;color:#8a6d1f;border:1px solid #ecd9a0;border-radius:999px;padding:4px 13px;font-size:.85rem;font-weight:600;margin:0 0 4px}
.cgc-poll-notice{background:#eef7ea;border:1px solid #cfe6c4;color:#2f6b33;border-radius:10px;padding:10px 14px;margin:14px 26px}
.cgc-poll-error{background:#fcefef;border:1px solid #e7c3c3;color:#9a3030;border-radius:10px;padding:10px 14px;margin:0 auto 18px;max-width:820px}
/* vote form */
.cgc-poll-form{padding-bottom:22px}
.cgc-poll-form fieldset{border:0;padding:0;margin:16px 0 6px}
.cgc-poll-form legend{font-weight:700;color:#0b2a5b;margin-bottom:10px;padding:0;font-size:1.03rem}
.cgc-poll-opt{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1.5px solid #e6ddc9;border-radius:11px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.cgc-poll-opt:hover{border-color:#e4bd55;background:#fdfaf1}
.cgc-poll-opt input{width:18px;height:18px;accent-color:#c79a2e;flex:0 0 auto;margin:0}
.cgc-poll-opt:has(input:checked){border-color:#c79a2e;background:#fdf6e4;box-shadow:inset 0 0 0 1px #e4bd55}
.cgc-poll-guests{margin:8px 0 2px}
.cgc-poll-guests label,.cgc-poll-form>label{display:block;font-weight:600;color:#3a3326;margin:14px 0 6px}
.cgc-poll-form input[type=number],.cgc-poll-form textarea{padding:10px 12px;border:1px solid #d9d2c4;border-radius:10px;font:inherit;width:100%;max-width:100%;box-sizing:border-box;background:#fff}
.cgc-poll-form input[type=number]{width:140px}
.cgc-poll-form textarea{min-height:66px}
.cgc-poll-form button[type=submit]{margin-top:18px}
/* results */
.cgc-poll-results{margin:16px 26px 20px;display:flex;flex-direction:column;gap:12px;padding:0!important}
.cgc-poll-bar-row{display:flex;justify-content:space-between;font-size:.96rem;margin-bottom:5px;color:#3a3326}
.cgc-poll-n{color:#8a6d1f;font-weight:700;font-variant-numeric:tabular-nums}
.cgc-poll-track{height:11px;background:#efe9dc;border-radius:999px;overflow:hidden}
.cgc-poll-track span{display:block;height:100%;background:linear-gradient(90deg,#c79a2e,#e4bd55);border-radius:999px;transition:width .5s}
.cgc-poll-totals{color:#5c5345;font-size:.96rem;border-top:1px dashed #e6ddc9;padding-top:12px;margin-top:2px}
/* login gate */
.cgc-poll-gate{text-align:center;padding-bottom:30px}
.cgc-poll-gate h2{margin-top:26px}
.cgc-poll-gate p{color:#5c5345;max-width:560px;margin:0 auto}
.cgc-poll-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}
/* manage view */
.cgc-poll-manage>h2{color:#0b2a5b}
.cgc-poll-manage .cgc-poll-create{background:#fbfaf6;border:1px dashed #d9d2c4;border-radius:12px;padding:4px 18px 18px;margin-bottom:24px}
.cgc-poll-manage .cgc-poll-create summary{cursor:pointer;font-weight:700;color:#0b2a5b;padding:14px 0}
.cgc-poll-manage .cgc-poll-create label{display:block;font-weight:600;color:#3a3326;margin:14px 0 6px}
.cgc-poll-manage .cgc-poll-create input[type=text],.cgc-poll-manage .cgc-poll-create input[type=date],.cgc-poll-manage .cgc-poll-create textarea{width:100%;max-width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d9d2c4;border-radius:10px;font:inherit}
.cgc-poll-check{font-weight:400!important;display:flex;align-items:center;gap:8px;color:#3a3326;margin:10px 0!important}
.cgc-poll-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid #ddd;border-radius:999px;padding:3px 10px;vertical-align:middle;color:#6b6456}
.cgc-poll-manage-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 18px}
.cgc-poll-table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:.92rem}
.cgc-poll-table th,.cgc-poll-table td{text-align:left;padding:7px 9px;border-bottom:1px solid #eee;vertical-align:top}
.cgc-poll-detail summary{cursor:pointer;color:#8a6d1f;font-weight:600;margin:6px 0 10px}
@media(max-width:600px){.cgc-poll>*:not(.cgc-poll-track):not(:first-child){padding-left:18px;padding-right:18px}.cgc-poll h2{font-size:1.3rem}.cgc-poll-results,.cgc-poll-notice{margin-left:18px;margin-right:18px}}
