/* ==========================================================================
   ethel.cz — formuláře (grafický manuál v2.0)
   Načítá se za ethel.css jen na stránkách s formulářem. Hodnoty z tokens.css.
   ========================================================================== */

.contact-form-panel{padding:28px;min-width:0}   /* vždy spolu s .card */
.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.form-field{margin-bottom:18px;min-width:0}
.form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--text)}
.form-field label>span:not(.optional){color:var(--accent)}
.form-field .optional{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:5px}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--page);color:var(--text);font:400 15px/1.5 var(--font-body);padding:11px 12px;transition:border-color .15s,background .15s;min-width:0}
.form-field textarea{resize:vertical;min-height:125px}
.form-field select{padding-right:24px}
.form-field ::placeholder{color:var(--text-muted);opacity:.8}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--text-muted)}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;background:var(--surface)}
.form-field [aria-invalid="true"]{border-color:var(--danger)}
.field-error{font-size:12px;line-height:1.5;color:var(--danger);margin-top:6px}
.form-error-summary{font-size:13px;color:var(--danger);padding:12px 14px;border:1px solid var(--danger);border-radius:var(--radius-control);background:var(--page);margin-bottom:18px}
.form-error-summary a{color:inherit}
.form-submit{width:100%;display:flex;justify-content:center;gap:16px;padding:13px 16px}
.form-submit:disabled{opacity:.5;cursor:not-allowed}
.form-note{font-size:12px;line-height:1.6;margin-top:14px;color:var(--text-muted)}
.contact-form-panel .form-note{font-size:13px;margin:14px 0 0}
.contact-form-panel .form-note-links{line-height:1.5}
.form-success{padding:28px 0;outline:none}
.form-success h3{font-size:24px}
.form-success p{font-size:15px;color:var(--text-muted)}
.form-success .button{margin-top:14px}
.contact-form-panel [hidden]{display:none!important}
/* Honeypot: mimo viewport, ne display:none (to boti přeskočí). */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

@media(max-width:1000px){.contact-form-panel{padding:24px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:850px){.contact-form-panel{padding:26px}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}}
@media(max-width:600px){.contact-form-panel{padding:20px 16px}.form-row{grid-template-columns:1fr;gap:0}.form-field input,.form-field select,.form-field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.form-field input,.form-field select,.form-field textarea{transition:none}}
