/* Atlantis Forms — usa la tipografía y los colores del tema; el color principal es el de Atlantis Aviso de Cookies si está activo. */
.atc.atc { --atc-color: var(--avc-color, var(--wp--preset--color--primary, #1d4f96)); --atc-borde: rgba(0, 0, 0, .25); --atc-error: #b3261e; --atc-ok: #146c2e; width: 100%; max-width: none; }
.atc *, .atc *::before, .atc *::after { box-sizing: border-box; }
.atc__titulo { margin: 0 0 .5em; }
.atc__intro { margin: 0 0 1.25em; }
.atc__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin: 0; }
.atc__campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.atc__campo--ancho, .atc__pie { grid-column: 1 / -1; }
.atc__campo > label { font-weight: 600; }
.atc__req { color: var(--atc-error); }
.atc__opcional { font-weight: 400; opacity: .75; font-size: .9em; }
.atc input[type="text"], .atc input[type="email"], .atc input[type="tel"], .atc select, .atc textarea {
  width: 100%; max-width: 100%; font: inherit; color: inherit; background: #fff; padding: 10px 12px; min-height: 44px;
  border: 1px solid var(--atc-borde); border-radius: 6px; margin: 0;
}
.atc textarea { min-height: 160px; resize: vertical; }
.atc input:focus-visible, .atc select:focus-visible, .atc textarea:focus-visible { outline: 3px solid var(--atc-color); outline-offset: 1px; border-color: var(--atc-color); }
.atc .atc__campo [aria-invalid="true"] { border-color: var(--atc-error); }
.atc__error { margin: 0; color: var(--atc-error); font-size: .92em; font-weight: 600; }
.atc__errores, .atc__ok { padding: 14px 18px; border-radius: 6px; margin: 0 0 18px; border-left: 4px solid; }
.atc__errores { border-color: var(--atc-error); background: rgba(179, 38, 30, .07); }
.atc__errores p { margin: 0 0 6px; font-weight: 600; }
.atc__errores ul { margin: 0; padding-left: 1.2em; }
.atc__errores a { color: var(--atc-error); }
.atc__ok { border-color: var(--atc-ok); background: rgba(20, 108, 46, .08); font-weight: 600; }
.atc__errores:focus, .atc__ok:focus { outline: 3px solid var(--atc-color); outline-offset: 2px; }
.atc__casilla { display: flex; align-items: flex-start; gap: 10px; }
.atc__casilla input, .atc .avc-casilla__fila input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--atc-color); }
.atc .avc-casilla { margin: 0; }
.atc .avc-casilla__texto { font-size: inherit; }
.atc .avc-casilla__info { font-size: .9em; }
.atc__pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.atc__boton { cursor: pointer; min-height: 44px; padding: 10px 26px; font: inherit; font-weight: 700; }
.atc__boton:not(.wp-element-button), .atc__boton.wp-element-button:not([class*="has-"]) { background: var(--atc-color); color: #fff; border: 0; border-radius: 6px; }
.atc__boton.is-enviando { opacity: .6; cursor: progress; }
.atc__nota { margin: 0; font-size: .9em; opacity: .75; }
.atc__hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.atc-aviso-admin { padding: 12px; border: 2px dashed #b3261e; }
@media (max-width: 600px) { .atc__form { grid-template-columns: 1fr; } }
/* Asistencia remota */
.atc__ayuda { margin: 0; font-size: .9em; opacity: .8; }
.atc__opciones { margin: 0; padding: 0; border: 0; min-width: 0; }
.atc__opciones legend { padding: 0; margin: 0 0 6px; font-weight: 600; }
.atc__opciones-fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.atc__opcion { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-height: 44px; border: 1px solid var(--atc-borde); border-radius: 6px; cursor: pointer; font-weight: 400; }
.atc__opcion input { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--atc-color); }
.atc__opcion:has(input:checked) { border-color: var(--atc-color); box-shadow: inset 0 0 0 1px var(--atc-color); }
.atc__opcion--urgente:has(input:checked) { border-color: var(--atc-error); box-shadow: inset 0 0 0 1px var(--atc-error); }
.atc__opcion:focus-within { outline: 3px solid var(--atc-color); outline-offset: 1px; }
.atc__opciones[aria-invalid="true"] .atc__opcion { border-color: var(--atc-error); }
@media (max-width: 600px) { .atc__opciones-fila { grid-template-columns: 1fr; } }
/* Más especificidad: algunos temas ponen en negrita las etiquetas y dan estilo propio a legend. */
.atc .atc__opciones legend { padding: 0; margin: 0 0 6px; font: inherit; font-weight: 600; color: inherit; letter-spacing: normal; text-transform: none; border: 0; }
.atc label.atc__opcion { font-weight: 400; margin: 0; }
.atc label.atc__opcion input[type="radio"] { position: static; margin: 0; }

