/* GrCode Content Applications — front-end. Loaded only on pages with the plugin shortcodes. */
.gca-wrap{--gca-brand:#353476;--gca-border:#dcdce8;--gca-bg:#f7f7fb;--gca-text:#1d2327;--gca-muted:#646970;max-width:860px;margin:0 auto 2rem;color:var(--gca-text);font-size:16px;line-height:1.55;box-sizing:border-box}
.gca-wrap *,.gca-wrap *::before,.gca-wrap *::after{box-sizing:inherit}

.gca-header{background:var(--gca-brand);color:#fff;border-radius:12px;padding:24px 28px;margin-bottom:20px}
.gca-header h2{margin:0 0 6px;color:#fff;font-size:1.5rem;line-height:1.25}
.gca-header p{margin:0;opacity:.9}

.gca-card{background:#fff;border:1px solid var(--gca-border);border-radius:12px;padding:22px 24px;margin:0 0 18px;min-width:0}
.gca-card legend{float:left;width:100%;padding:0;margin:0 0 14px;font-size:1.15rem;font-weight:600;color:var(--gca-brand)}
.gca-card legend + *{clear:both}
.gca-step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:var(--gca-brand);color:#fff;font-size:.9rem}

.gca-field{margin:0 0 16px}
.gca-field label{display:block;margin-bottom:6px;font-weight:600}
.gca-field input[type=text],.gca-field input[type=url],.gca-field select,.gca-field textarea{width:100%;max-width:100%;padding:10px 12px;border:1px solid #c3c4d4;border-radius:8px;background:#fff;font:inherit;color:inherit}
.gca-field textarea{resize:vertical}
.gca-field input:focus,.gca-field select:focus,.gca-field textarea:focus{outline:2px solid var(--gca-brand);outline-offset:1px;border-color:var(--gca-brand)}
.gca-field [aria-invalid=true]{border-color:#b32d2e}
.gca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}

.gca-help{margin:0 0 10px;color:var(--gca-muted);font-size:.9rem}
.gca-req{color:#b32d2e}
.gca-error{margin:6px 0 0;color:#b32d2e;font-size:.9rem}
.gca-error[hidden]{display:none}

.gca-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0}
.gca-profile > div{background:var(--gca-bg);border-radius:8px;padding:10px 14px;min-width:0}
.gca-profile dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gca-muted)}
.gca-profile dd{margin:2px 0 0;word-break:break-word}
.gca-profile .gca-profile__wide{grid-column:1 / -1}

.gca-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.gca-radios{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:16px}
.gca-check{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--gca-border);border-radius:8px;background:var(--gca-bg);cursor:pointer}
.gca-check:hover{border-color:var(--gca-brand)}
.gca-check input{width:18px;height:18px;flex:none;accent-color:var(--gca-brand)}
.gca-check--consent{align-items:flex-start;background:#fff}

.gca-privacy{background:var(--gca-bg);border-radius:8px;padding:12px 16px;margin-bottom:14px;font-size:.92rem}
.gca-privacy p:last-child{margin-bottom:0}

.gca-actions{text-align:right}
.gca-button{display:inline-block;padding:12px 28px;border:0;border-radius:8px;background:var(--gca-brand);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.gca-button:hover,.gca-button:focus{filter:brightness(1.12);color:#fff}
.gca-button[disabled]{opacity:.55;cursor:not-allowed}

.gca-link{color:var(--gca-brand);font-weight:600}

.gca-notice{border-left:4px solid var(--gca-brand);background:var(--gca-bg);padding:14px 18px;border-radius:8px;margin:0 0 18px}
.gca-notice--error{border-color:#b32d2e;background:#fcf0f1}
.gca-notice--success{border-color:#1a7f37;background:#edf7ee}
.gca-notice--warning{border-color:#b26200;background:#fff7e6}
.gca-notice p{margin:0 0 8px}
.gca-notice p:last-child{margin-bottom:0}
.gca-success-title{font-size:1.2rem;font-weight:700}
.gca-id-box{display:inline-flex;flex-direction:column;background:#fff;border:1px dashed #1a7f37;border-radius:8px;padding:8px 18px}
.gca-id-box span{font-size:.8rem;color:var(--gca-muted)}
.gca-id-box strong{font-size:1.4rem;letter-spacing:.04em}

.gca-status{display:inline-block;padding:2px 12px;border-radius:999px;font-size:.88rem;font-weight:600;background:#fff3cd;color:#7a5200}
.gca-status--accepted{background:#d7f0dc;color:#14602b}
.gca-status--rejected{background:#f8d7da;color:#8a1f26}
.gca-status-card h3{margin-top:0;color:var(--gca-brand)}
.gca-message{background:var(--gca-bg);border-radius:8px;padding:10px 14px;margin:12px 0}
.gca-message p{margin:4px 0 0}

/* Honeypot: hidden from users and assistive tech. */
.gca-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

@media (max-width:640px){
	.gca-grid,.gca-profile{grid-template-columns:1fr}
	.gca-card{padding:16px}
	.gca-header{padding:18px}
	.gca-actions{text-align:stretch}
	.gca-actions .gca-button{width:100%}
}

/* Dynamic fields */
.gca-readonly{background:var(--gca-bg)!important;color:#50575e;cursor:not-allowed}
.gca-lock{margin:4px 0 0;font-size:.82rem}
.gca-group{border:0;padding:0;margin:0}
.gca-group legend{float:none;padding:0;margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--gca-text)}
.gca-field--checkbox .gca-check{margin-top:4px}
.gca-field select[multiple]{padding:6px}
.gca-info{background:var(--gca-bg);border-radius:8px;padding:10px 14px;margin:0 0 16px;font-size:.92rem}
.gca-info p:last-child{margin-bottom:0}
.gca-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px}
.gca-cancel{font-weight:500}
.gca-card .gca-field:last-child{margin-bottom:0}
@media (max-width:640px){.gca-actions{flex-direction:column-reverse;align-items:stretch}.gca-cancel{text-align:center}}
