.jc-code-widget { width:100%; margin:16px 0; padding:18px; background:#f5f5f5; border:1px solid #ddd; border-radius:4px; text-align:left; box-sizing:border-box; }
.jc-code-controls { display:flex; gap:12px; align-items:flex-end; }
.jc-code-field { flex:1; min-width:0; }
.jc-code-widget .jc-code-field label { display:block; margin:0 0 5px; font-size:18px; font-weight:700; color:#222; }
.jc-code-widget input.jc-code-input { width:100%; min-height:46px; margin:0; background:#fff; color:#111; box-sizing:border-box; }
.jc-code-widget button.jc-code-apply { margin:0; min-height:46px; padding:10px 20px; background:#278737; color:#fff; border:0; border-radius:3px; cursor:pointer; }
.jc-code-widget button.jc-code-apply:hover { background:#206f2d; }
.jc-code-widget button.jc-code-apply:disabled { opacity:.65; cursor:wait; }
.jc-code-widget input:focus-visible,.jc-code-widget button:focus-visible { outline:2px solid #154f23; outline-offset:3px; }
.jc-code-widget .jc-code-message { margin:10px 0 0; padding:0; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.jc-code-widget .jc-code-message:empty { display:none; }
.jc-code-message[data-state="error"] { color:#a31515; }
.jc-code-message[data-state="success"] { color:#205e2c; }
.jc-code-message[data-state="notice"] { color:#604900; }
/* Restore checkout guidance hidden by legacy theme coupon styling. */
body.woocommerce-cart ul.woocommerce-error,body.woocommerce-cart .wfacp-notices-wrapper { display:block; }
@media(max-width:480px) { .jc-code-controls { flex-direction:column; align-items:stretch; } .jc-code-field { width:100%; } .jc-code-widget { padding:14px; } }
