/* Inherits your theme's fonts and colours; only structure is defined here. */
.cclc { max-width: 560px; }
.cclc__form { display: grid; gap: 1rem; }
.cclc__row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.cclc__field label { display: block; font-weight: 600; margin-bottom: .25rem; }
.cclc__field input { width: 100%; box-sizing: border-box; padding: .65rem .75rem; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; font: inherit; }
.cclc__field input:focus-visible,
.cclc__btn:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.cclc__field small { display: block; margin-top: .25rem; opacity: .75; }
.cclc__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .9em; line-height: 1.5; }
.cclc__consent input { margin-top: .3rem; flex: none; }
.cclc__btn { padding: .8rem 1.25rem; border: 0; border-radius: 4px; font: inherit; font-weight: 600; cursor: pointer; background: #14532d; color: #fff; }
.cclc__btn:hover:not(:disabled) { background: #166534; }
.cclc__btn:disabled { opacity: .6; cursor: progress; }
.cclc__msg:empty { display: none; }
.cclc__msg { padding: .75rem 1rem; border-left: 4px solid currentColor; }
.cclc__msg.is-error { border-color: #b91c1c; color: #b91c1c; }
.cclc__msg.is-success { border-color: #15803d; color: #15803d; }
.cclc__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 520px) { .cclc__row { grid-template-columns: 1fr; } }
