/* Plugin UI: forms, notices, stars. Colours follow the active theme palette via CSS variables. */
.csr-stars{--s:1.05em;position:relative;display:inline-block;width:calc(var(--s)*5);height:var(--s);background:currentColor;color:var(--csr-star-off,#d9d6cc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.5 6 .8-4.4 4.2 1.1 6-5.3-2.9-5.3 2.9 1.1-6L1.4 7.8l6-.8z'/%3E%3C/svg%3E") 0 0/var(--s) 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.5 6 .8-4.4 4.2 1.1 6-5.3-2.9-5.3 2.9 1.1-6L1.4 7.8l6-.8z'/%3E%3C/svg%3E") 0 0/var(--s) 100% repeat-x;vertical-align:-.15em}
.csr-stars__fill{position:absolute;inset:0 auto 0 0;background:var(--csr-star,#d5ad55)}
.csr-notice{padding:.8rem 1rem;border-radius:10px;margin:0 0 1rem;border:1px solid}
.csr-notice--success{background:#eaf6ee;border-color:#8fc7a0;color:#14532d}
.csr-notice--error{background:#fdeeee;border-color:#e0a0a0;color:#7f1d1d}
.csr-box{background:var(--csr-surface,#fff);border:1px solid var(--csr-line,#e5e1d4);border-radius:16px;padding:1.5rem;margin:1.5rem 0}
.csr-two{display:grid;gap:1.5rem}@media(min-width:800px){.csr-two{grid-template-columns:1fr 1fr}}
.csr-form p{margin:0 0 1rem}.csr-form label{display:block;font-weight:600;margin-bottom:.3rem}
.csr-form input[type=text],.csr-form input[type=email],.csr-form input[type=password],.csr-form input[type=date],.csr-form textarea,.csr-form select{width:100%;padding:.7rem .85rem;border:1px solid var(--csr-line-strong,#c9c3ae);border-radius:10px;font:inherit;background:#fff;color:inherit}
.csr-form input:focus-visible,.csr-form textarea:focus-visible,.csr-form select:focus-visible{outline:3px solid var(--csr-accent,#d5ad55);outline-offset:1px}
.csr-check label{display:flex;gap:.5rem;font-weight:400;align-items:flex-start}.csr-check input{margin-top:.25rem}
.csr-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.csr-btn{display:inline-block;cursor:pointer;border:0;border-radius:999px;padding:.75rem 1.4rem;font:inherit;font-weight:700;text-decoration:none;background:var(--csr-accent,#d5ad55);color:var(--csr-on-accent,#101b33);transition:transform .18s ease,box-shadow .18s ease}
.csr-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,27,51,.25)}
.csr-rate{border:0;padding:0;margin:0 0 1rem;display:inline-flex;flex-direction:row-reverse;gap:.15rem}
.csr-rate legend{float:left;width:100%;font-weight:600;margin-bottom:.3rem}
.csr-rate input{position:absolute;opacity:0}
.csr-rate label{width:2rem;height:2rem;margin:0;cursor:pointer;background:var(--csr-star-off,#d9d6cc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.5 6 .8-4.4 4.2 1.1 6-5.3-2.9-5.3 2.9 1.1-6L1.4 7.8l6-.8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.5l2.6 5.5 6 .8-4.4 4.2 1.1 6-5.3-2.9-5.3 2.9 1.1-6L1.4 7.8l6-.8z'/%3E%3C/svg%3E") center/contain no-repeat}
.csr-rate input:checked~label,.csr-rate label:hover,.csr-rate label:hover~label{background:var(--csr-star,#d5ad55)}
.csr-rate input:focus-visible+label{outline:3px solid var(--csr-accent,#d5ad55);outline-offset:2px}
.csr-table-wrap{overflow-x:auto}.csr-table{width:100%;border-collapse:collapse}.csr-table th,.csr-table td{padding:.6rem .7rem;border-bottom:1px solid var(--csr-line,#e5e1d4);text-align:left}
.csr-logo-fallback{display:grid;place-items:center;width:100%;height:100%;font:700 1.6rem Georgia,serif;color:var(--csr-primary,#101b33)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
